aboutsummaryrefslogtreecommitdiff
path: root/gas
diff options
context:
space:
mode:
authorRichard Sandiford <rdsandiford@googlemail.com>2004-05-20 10:10:43 +0000
committerRichard Sandiford <rdsandiford@googlemail.com>2004-05-20 10:10:43 +0000
commit20e56c33af778c23728eea255a4724cfab36746d (patch)
tree35b402f0141f892bc6f5dd2bd5fa0b46261fec88 /gas
parent4725b72191dff6324b78a2fe4edb62d0abf3a204 (diff)
downloadgdb-20e56c33af778c23728eea255a4724cfab36746d.zip
gdb-20e56c33af778c23728eea255a4724cfab36746d.tar.gz
gdb-20e56c33af778c23728eea255a4724cfab36746d.tar.bz2
* config/tc-mips.c (append_insn): Use ISA-encoded addresses in MIPS16
dwarf tables.
Diffstat (limited to 'gas')
-rw-r--r--gas/ChangeLog5
-rw-r--r--gas/config/tc-mips.c9
2 files changed, 12 insertions, 2 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog
index 7581ea7..3089e2a 100644
--- a/gas/ChangeLog
+++ b/gas/ChangeLog
@@ -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.
diff --git a/gas/config/tc-mips.c b/gas/config/tc-mips.c
index 8d380e9..c3a9e3c 100644
--- a/gas/config/tc-mips.c
+++ b/gas/config/tc-mips.c
@@ -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
}