Fix disassembly of arm-elf instructions with relocs associated with them.
authorNick Clifton <nickc@redhat.com>
Tue, 9 Jan 2001 20:29:48 +0000 (20:29 +0000)
committerNick Clifton <nickc@redhat.com>
Tue, 9 Jan 2001 20:29:48 +0000 (20:29 +0000)
opcodes/ChangeLog
opcodes/arm-dis.c
opcodes/po/opcodes.pot

index 0bea23d..0f5fecf 100644 (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
index 262406b..686b18a 100644 (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
index 6bc8d82..f286872 100644 (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 ""