Fix disassembly of arm-elf instructions with relocs associated with them.

This commit is contained in:
Nick Clifton 2001-01-09 20:29:48 +00:00
parent 34cc70e3ee
commit 6a56ec7ea3
3 changed files with 16 additions and 3 deletions

View file

@ -1,3 +1,8 @@
2001-01-09 Nick Clifton <nickc@redhat.com>
* arm-dis.c (print_insn): Set pc to zero for instructions with
a reloc associated with them.
2001-01-09 Jeff Johnston <jjohnstn@redhat.com>
* cgen-asm.in (parse_insn_normal): Changed syn to be

View file

@ -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

View file

@ -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 <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\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 "<internal disassembler error>"
msgstr ""