aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGeoffrey Keating <geoffk@geoffk.org>2002-04-17 23:08:42 +0000
committerGeoffrey Keating <geoffk@geoffk.org>2002-04-17 23:08:42 +0000
commitffa554edd7d07881a4d1c93cf406aef0cba4086c (patch)
tree84d700c95b23216ff469ec5016eeeab2301b4438
parent8b0d4340d71c3925a84935af4039767d0eee90c9 (diff)
downloadgdb-ffa554edd7d07881a4d1c93cf406aef0cba4086c.zip
gdb-ffa554edd7d07881a4d1c93cf406aef0cba4086c.tar.gz
gdb-ffa554edd7d07881a4d1c93cf406aef0cba4086c.tar.bz2
* dwarf2dbg.c (dwarf2_gen_line_info): Do emit duplicate line
numbers, gdb relies on them to detect the start of the prologue.
-rw-r--r--gas/ChangeLog5
-rw-r--r--gas/dwarf2dbg.c8
2 files changed, 11 insertions, 2 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog
index 30ac042..278ea24 100644
--- a/gas/ChangeLog
+++ b/gas/ChangeLog
@@ -1,3 +1,8 @@
+2002-04-17 Geoffrey Keating <geoffk@redhat.com>
+
+ * dwarf2dbg.c (dwarf2_gen_line_info): Do emit duplicate line
+ numbers, gdb relies on them to detect the start of the prologue.
+
2002-04-17 Martin Schwidefsky <schwidefsky@de.ibm.com>
* config/tc-s390.c (tc_s390_fix_adjustable): Prevent adjustments to
diff --git a/gas/dwarf2dbg.c b/gas/dwarf2dbg.c
index 6e62206..81cbf8a 100644
--- a/gas/dwarf2dbg.c
+++ b/gas/dwarf2dbg.c
@@ -237,8 +237,12 @@ dwarf2_gen_line_info (ofs, loc)
if (loc->filenum == 0 || loc->line == 0)
return;
- /* Don't emit sequences of line symbols for the same line. */
- if (line == loc->line && filenum == loc->filenum)
+ /* Don't emit sequences of line symbols for the same line when the
+ symbols apply to assembler code. It is necessary to emit
+ duplicate line symbols when a compiler asks for them, because GDB
+ uses them to determine the end of the prologue. */
+ if (debug_type == DEBUG_DWARF2
+ && line == loc->line && filenum == loc->filenum)
return;
line = loc->line;