aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gas/ChangeLog6
-rw-r--r--gas/config/tc-mn10300.c6
2 files changed, 10 insertions, 2 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog
index ae6b77e..8b7bd45 100644
--- a/gas/ChangeLog
+++ b/gas/ChangeLog
@@ -1,3 +1,9 @@
+2000-05-27 Alexandre Oliva <aoliva@cygnus.com>
+
+ * config/tc-mn10300.c (md_assemble): Copy size to real_size before
+ it is modified, and use the real_size to compute the frag address
+ for dwarf2 line info.
+
2000-05-27 Alan Modra <alan@linuxcare.com.au>
* Makefile.am (DEP, DEP1, dep, dep-in, dep-am): Use a better sed
diff --git a/gas/config/tc-mn10300.c b/gas/config/tc-mn10300.c
index 30b4139..9cbaf19 100644
--- a/gas/config/tc-mn10300.c
+++ b/gas/config/tc-mn10300.c
@@ -902,7 +902,7 @@ md_assemble (str)
struct mn10300_opcode *next_opcode;
const unsigned char *opindex_ptr;
int next_opindex, relaxable;
- unsigned long insn, extension, size = 0;
+ unsigned long insn, extension, size = 0, real_size;
char *f;
int i;
int match;
@@ -1480,6 +1480,8 @@ keep_going:
if (opcode->format == FMT_D4)
size = 6;
+ real_size = size;
+
if (relaxable && fc > 0)
{
int type;
@@ -1760,7 +1762,7 @@ keep_going:
/* We want the offset of the start of this instruction within the
the current frag. */
- addr = frag_now->fr_address + frag_now_fix () - size;
+ addr = frag_now->fr_address + frag_now_fix () - real_size;
/* And record the information. */
dwarf2_gen_line_info (addr, &debug_line);