diff options
author | Eugene Tarassov | 2020-09-14 20:37:29 +0000 |
---|---|---|
committer | Eugene Tarassov | 2020-09-14 20:37:29 +0000 |
commit | 9ea85ee38799dae1e469762a5e0d706f844ba81e (patch) | |
tree | cc5c26abbdc5a8694aa7363ad87709eeb7314361 /agent/machine | |
parent | 8e37d09294bffc3b17684c5581982c6a1976fff7 (diff) | |
download | org.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.c | 12 |
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) { |