aboutsummaryrefslogtreecommitdiff
path: root/gas/dwarf2dbg.c
diff options
context:
space:
mode:
authorNick Clifton <nickc@redhat.com>2002-05-13 10:24:14 +0000
committerNick Clifton <nickc@redhat.com>2002-05-13 10:24:14 +0000
commitb6675117d942a9942a74bed6bd7ff279118ba91b (patch)
tree8e53fd04ff15c3a430a6ad76ddf4c4cba8cc74b6 /gas/dwarf2dbg.c
parent7193a0e74fdc32ae817b57d7e6ff6cf55868a3d5 (diff)
downloadgdb-b6675117d942a9942a74bed6bd7ff279118ba91b.zip
gdb-b6675117d942a9942a74bed6bd7ff279118ba91b.tar.gz
gdb-b6675117d942a9942a74bed6bd7ff279118ba91b.tar.bz2
Do not reset loc_directive_seen in dwarf2_emit_insn.
Diffstat (limited to 'gas/dwarf2dbg.c')
-rw-r--r--gas/dwarf2dbg.c20
1 files changed, 11 insertions, 9 deletions
diff --git a/gas/dwarf2dbg.c b/gas/dwarf2dbg.c
index 8b7005b..115f6fa 100644
--- a/gas/dwarf2dbg.c
+++ b/gas/dwarf2dbg.c
@@ -286,16 +286,18 @@ dwarf2_emit_insn (size)
{
struct dwarf2_line_info loc;
- if (debug_type != DEBUG_DWARF2 && ! loc_directive_seen)
+ 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;
+ else if (debug_type != DEBUG_DWARF2)
return;
- loc_directive_seen = false;
-
- /* 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;
+ else
+ dwarf2_where (& loc);
+
dwarf2_gen_line_info (frag_now_fix () - size, &loc);
}