diff options
author | H.J. Lu <hjl.tools@gmail.com> | 2002-05-22 16:15:18 +0000 |
---|---|---|
committer | H.J. Lu <hjl.tools@gmail.com> | 2002-05-22 16:15:18 +0000 |
commit | 1080e97d0593d0cdadf9ba464b6cf8c588a40a45 (patch) | |
tree | ba35d94f0d3cdf4846f57a109dd90574aa11295b | |
parent | 77b63882047925261fa7e251d524fbc06bf315f3 (diff) | |
download | gdb-1080e97d0593d0cdadf9ba464b6cf8c588a40a45.zip gdb-1080e97d0593d0cdadf9ba464b6cf8c588a40a45.tar.gz gdb-1080e97d0593d0cdadf9ba464b6cf8c588a40a45.tar.bz2 |
2002-05-22 H.J. Lu <hjl@gnu.org>
* dwarf2dbg.c (dwarf2_emit_insn): Emit only one line symbol
for one .loc for compiler.
-rw-r--r-- | gas/ChangeLog | 5 | ||||
-rw-r--r-- | 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 <hjl@gnu.org> + + * dwarf2dbg.c (dwarf2_emit_insn): Emit only one line symbol + for one .loc for compiler. + 2002-05-22 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de> * 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 |