diff --git a/gas/ChangeLog b/gas/ChangeLog index 1154e64e09..9d0c758daf 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,3 +1,10 @@ +1999-06-26 David Mosberger + + * 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 * config/tc-mcore.c (md_pseudo_table): Add .comm for ELF and allow diff --git a/gas/dwarf2dbg.c b/gas/dwarf2dbg.c index 403452c20c..48e964665d 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);