Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEugene Tarassov2016-07-05 14:46:31 -0400
committerEugene Tarassov2016-07-05 14:46:31 -0400
commit2dddd5f440a15d5406032fac20f206484513646f (patch)
tree92c95009b028f11e4662c8dac67e8f96f605a635
parent133ed630995af353c888fb62c4487484a7a6c96c (diff)
downloadorg.eclipse.tcf.agent-1.4_neon_bugfix.tar.gz
org.eclipse.tcf.agent-1.4_neon_bugfix.tar.xz
org.eclipse.tcf.agent-1.4_neon_bugfix.zip
TCF Agent: fixed missing condition name in disassembly of Thumb pop instruction1.4_neon1.4_neon_bugfix
-rw-r--r--agent/machine/arm/tcf/disassembler-thumb.c12
1 files changed, 8 insertions, 4 deletions
diff --git a/agent/machine/arm/tcf/disassembler-thumb.c b/agent/machine/arm/tcf/disassembler-thumb.c
index a6807325..e7827000 100644
--- a/agent/machine/arm/tcf/disassembler-thumb.c
+++ b/agent/machine/arm/tcf/disassembler-thumb.c
@@ -966,9 +966,11 @@ static void disassemble_data_processing_pbi_32(uint16_t suffix) {
if (sh == 1 && imm2 == 0 && imm3 == 0) {
/* SSAT16, USAT16 : nothing to add. */
return;
- } else if (sh == 1) {
+ }
+ else if (sh == 1) {
add_str(", asr #");
- } else {
+ }
+ else {
add_str(", lsl #");
}
add_dec_uint32((imm3 << 2) + imm2);
@@ -1615,8 +1617,10 @@ static void disassemble_thumb7(void) {
if (((instr & 0xf84d) == 0xf84d) &&
(((suffix & 0x0bff) == 0x0b04) || ((suffix & 0x0dff) == 0x0d04))) {
- if ((suffix & 0x0bff) == 0x0b04) add_str("pop.w {");
- else add_str("push.w {");
+ if ((suffix & 0x0bff) == 0x0b04) add_str("pop");
+ else add_str("push");
+ if (it_cond_name) add_str(it_cond_name);
+ add_str(".w {");
add_reg_name((suffix >> 12) & 0xf);
add_char('}');
return;

Back to the top