From 6a56ec7ea31f044f802074fac62f0cc30fb81aff Mon Sep 17 00:00:00 2001 From: Nick Clifton Date: Tue, 9 Jan 2001 20:29:48 +0000 Subject: [PATCH] Fix disassembly of arm-elf instructions with relocs associated with them. --- opcodes/ChangeLog | 5 +++++ opcodes/arm-dis.c | 8 ++++++++ opcodes/po/opcodes.pot | 6 +++--- 3 files changed, 16 insertions(+), 3 deletions(-) diff --git a/opcodes/ChangeLog b/opcodes/ChangeLog index 0bea23d3912..0f5fecf04ce 100644 --- a/opcodes/ChangeLog +++ b/opcodes/ChangeLog @@ -1,3 +1,8 @@ +2001-01-09 Nick Clifton + + * arm-dis.c (print_insn): Set pc to zero for instructions with + a reloc associated with them. + 2001-01-09 Jeff Johnston * cgen-asm.in (parse_insn_normal): Changed syn to be diff --git a/opcodes/arm-dis.c b/opcodes/arm-dis.c index 262406bd23d..686b18a1a91 100644 --- a/opcodes/arm-dis.c +++ b/opcodes/arm-dis.c @@ -1043,6 +1043,14 @@ print_insn (pc, info, little) given = (b[0] << 24) | (b[1] << 16) | (b[2] << 8) | (b[3]); } + if (info->flags & INSN_HAS_RELOC) + /* If the instruction has a reloc associated with it, then + the offset field in the instruction will actually be the + addend for the reloc. (We are using REL type relocs). + In such cases, we can ignore the pc when computing + addresses, since the addend is not currently pc-relative. */ + pc = 0; + if (is_thumb) status = print_insn_thumb (pc, info, given); else diff --git a/opcodes/po/opcodes.pot b/opcodes/po/opcodes.pot index 6bc8d826099..f2868722c13 100644 --- a/opcodes/po/opcodes.pot +++ b/opcodes/po/opcodes.pot @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2000-12-16 13:55-0800\n" +"POT-Creation-Date: 2001-01-09 12:07-0800\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -63,7 +63,7 @@ msgstr "" msgid "Unrecognised disassembler option: %s\n" msgstr "" -#: arm-dis.c:1075 +#: arm-dis.c:1083 msgid "" "\n" "The following ARM specific disassembler options are supported for use with\n" @@ -204,7 +204,7 @@ msgstr "" msgid "%02x\t\t*unknown*" msgstr "" -#: i386-dis.c:1949 +#: i386-dis.c:2624 msgid "" msgstr "" -- 2.30.2