aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gas/ChangeLog7
-rw-r--r--gas/dwarf2dbg.c15
2 files changed, 16 insertions, 6 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog
index 1154e64..9d0c758 100644
--- a/gas/ChangeLog
+++ b/gas/ChangeLog
@@ -1,3 +1,10 @@
+1999-06-26 David Mosberger <davidm@hpl.hp.com>
+
+ * dwarf2dbg.c (dwarf2_gen_line_info): Don't call
+ out_end_sequence() when the address decreases due to a new frag.
+ (gen_dir_list): Set ls.file[i].dir to j + 1 (not j) because file
+ numbering starts with 1.
+
1999-06-23 Nick Clifton <nickc@cygnus.com>
* config/tc-mcore.c (md_pseudo_table): Add .comm for ELF and allow
diff --git a/gas/dwarf2dbg.c b/gas/dwarf2dbg.c
index 403452c..48e9646 100644
--- a/gas/dwarf2dbg.c
+++ b/gas/dwarf2dbg.c
@@ -468,11 +468,14 @@ dwarf2_gen_line_info (addr, l)
any_output = 1;
if (addr < ls.sm.addr)
{
- if (!ls.sm.empty_sequence)
- {
- out_end_sequence ();
- ls.sm.empty_sequence = 1;
- }
+ /* This happens when a new frag got allocated (for whatever
+ reason). Deal with it by generating a reference symbol.
+ Note: no end_sequence needs to be generated because the
+ address did not really decrease (only the reference point
+ changed).
+
+ ??? Perhaps we should directly check for a change of
+ frag_now instead? */
out_set_addr (addr);
ls.sm.addr = addr;
}
@@ -510,7 +513,7 @@ gen_dir_list ()
{
if (strcmp (str, dp) == 0)
{
- ls.file[i].dir = j;
+ ls.file[i].dir = j + 1;
break;
}
dp += strlen (dp);