Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEugene Tarassov2020-09-14 20:37:29 +0000
committerEugene Tarassov2020-09-14 20:37:29 +0000
commit9ea85ee38799dae1e469762a5e0d706f844ba81e (patch)
treecc5c26abbdc5a8694aa7363ad87709eeb7314361 /agent/machine
parent8e37d09294bffc3b17684c5581982c6a1976fff7 (diff)
downloadorg.eclipse.tcf.agent-9ea85ee38799dae1e469762a5e0d706f844ba81e.tar.gz
org.eclipse.tcf.agent-9ea85ee38799dae1e469762a5e0d706f844ba81e.tar.xz
org.eclipse.tcf.agent-9ea85ee38799dae1e469762a5e0d706f844ba81e.zip
Bug 566756 - Can not disassembly "sdiv" instruction correctly on arm cortex-a15
Diffstat (limited to 'agent/machine')
-rw-r--r--agent/machine/arm/tcf/disassembler-arm.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/agent/machine/arm/tcf/disassembler-arm.c b/agent/machine/arm/tcf/disassembler-arm.c
index b63475b3..e3ef538c 100644
--- a/agent/machine/arm/tcf/disassembler-arm.c
+++ b/agent/machine/arm/tcf/disassembler-arm.c
@@ -2926,6 +2926,18 @@ static void disassemble_media_instr(uint32_t instr, const char * cond) {
}
return;
}
+
+ if ((instr & 0x0fd000f0) == 0x07100010) {
+ add_str(instr & (1 << 21) ? "udiv" : "sdiv");
+ add_str(cond);
+ add_char(' ');
+ add_reg_name((instr >> 16) & 0xf);
+ add_str(", ");
+ add_reg_name(instr & 0xf);
+ add_str(", ");
+ add_reg_name((instr >> 8) & 0xf);
+ return;
+ }
}
static void disassemble_load_store_instr(uint32_t instr, const char * cond) {

Back to the top