diff options
author | Richard Henderson <rth@redhat.com> | 1999-06-26 16:10:10 +0000 |
---|---|---|
committer | Richard Henderson <rth@redhat.com> | 1999-06-26 16:10:10 +0000 |
commit | a340d27090bd75548ff484fbee052574b895f0b4 (patch) | |
tree | 65e554387aba7613a8e6335dd9a4d6c6848d371b /gas/dwarf2dbg.c | |
parent | f623be2b6830e39583aeff8d0e39fac8c8c19dc2 (diff) | |
download | gdb-a340d27090bd75548ff484fbee052574b895f0b4.zip gdb-a340d27090bd75548ff484fbee052574b895f0b4.tar.gz gdb-a340d27090bd75548ff484fbee052574b895f0b4.tar.bz2 |
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.
Diffstat (limited to 'gas/dwarf2dbg.c')
-rw-r--r-- | gas/dwarf2dbg.c | 15 |
1 files changed, 9 insertions, 6 deletions
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); |