* config/tc-mips.c (append_insn): Use ISA-encoded addresses in MIPS16
authorRichard Sandiford <rdsandiford@googlemail.com>
Thu, 20 May 2004 10:10:43 +0000 (10:10 +0000)
committerRichard Sandiford <rdsandiford@googlemail.com>
Thu, 20 May 2004 10:10:43 +0000 (10:10 +0000)
dwarf tables.

gas/ChangeLog
gas/config/tc-mips.c

index 7581ea7d6df82ed28258c5386b33bed80f0f146e..3089e2a3dfaeb2f71959de6f54823fc6a8133876 100644 (file)
@@ -1,3 +1,8 @@
+2004-05-20  Richard Sandiford  <rsandifo@redhat.com>
+
+       * config/tc-mips.c (append_insn): Use ISA-encoded addresses in MIPS16
+       dwarf tables.
+
 2004-05-17  Adam Nemet  <anemet@lnxw.com> 
 
        * configure.in: Add ppc-*-lynxos*.  Update i386-*-lynxos* to ELF.
index 8d380e99d0702df4720fa2ece1398b21d0e6103d..c3a9e3caf6f9d12a82eea85142b0bd4ae5042a9f 100644 (file)
@@ -2242,7 +2242,12 @@ append_insn (struct mips_cl_insn *ip, expressionS *address_expr,
       md_number_to_chars (f, ip->insn_opcode >> 16, 2);
       md_number_to_chars (f + 2, ip->insn_opcode & 0xffff, 2);
 #ifdef OBJ_ELF
-      dwarf2_emit_insn (4);
+      /* The value passed to dwarf2_emit_insn is the distance between
+        the end of the current instruction and the address that should
+        be recorded in the debug tables.  Since we want to use ISA-encoded
+        addresses in MIPS16 debug info, the value is one byte less than
+        the real instruction length.  */
+      dwarf2_emit_insn (3);
 #endif
     }
   else
@@ -2254,7 +2259,7 @@ append_insn (struct mips_cl_insn *ip, expressionS *address_expr,
        }
       md_number_to_chars (f, ip->insn_opcode, 2);
 #ifdef OBJ_ELF
-      dwarf2_emit_insn (ip->use_extend ? 4 : 2);
+      dwarf2_emit_insn (ip->use_extend ? 3 : 1);
 #endif
     }