From 1080e97d0593d0cdadf9ba464b6cf8c588a40a45 Mon Sep 17 00:00:00 2001 From: "H.J. Lu" Date: Wed, 22 May 2002 16:15:18 +0000 Subject: [PATCH] 2002-05-22 H.J. Lu * dwarf2dbg.c (dwarf2_emit_insn): Emit only one line symbol for one .loc for compiler. --- gas/ChangeLog | 5 +++++ gas/dwarf2dbg.c | 19 +++++++++++++------ 2 files changed, 18 insertions(+), 6 deletions(-) diff --git a/gas/ChangeLog b/gas/ChangeLog index 1547fa0..331a179 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,3 +1,8 @@ +2002-05-22 H.J. Lu + + * dwarf2dbg.c (dwarf2_emit_insn): Emit only one line symbol + for one .loc for compiler. + 2002-05-22 Thiemo Seufer * config/tc-mips.c (macro): Relax warning, it's toot strict for diff --git a/gas/dwarf2dbg.c b/gas/dwarf2dbg.c index 115f6fa..608d7f6 100644 --- a/gas/dwarf2dbg.c +++ b/gas/dwarf2dbg.c @@ -287,12 +287,19 @@ dwarf2_emit_insn (size) struct dwarf2_line_info loc; if (loc_directive_seen) - /* Use the last location established by a .loc directive, not - the value returned by dwarf2_where(). That calls as_where() - which will return either the logical input file name (foo.c) - or the physical input file name (foo.s) and not the file name - specified in the most recent .loc directive (eg foo.h). */ - loc = current; + { + /* Use the last location established by a .loc directive, not + the value returned by dwarf2_where(). That calls as_where() + which will return either the logical input file name (foo.c) + or the physical input file name (foo.s) and not the file name + specified in the most recent .loc directive (eg foo.h). */ + loc = current; + + /* Unless we generate DWARF2 debugging information for each + assembler line, we only emit one line symbol for one LOC. */ + if (debug_type != DEBUG_DWARF2) + loc_directive_seen = false; + } else if (debug_type != DEBUG_DWARF2) return; else -- 2.7.4