diff --git a/gas/ChangeLog b/gas/ChangeLog index 15d5575a6be..7e20cf27c71 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,5 +1,8 @@ 2002-05-13 Nick Clifton + * dwarf2dbg.c (dwarf2_emit_insn): Do not reset + loc_directive_seen. + * stabs.c (s_stab_generic): Fix grammatical error in warning message. diff --git a/gas/dwarf2dbg.c b/gas/dwarf2dbg.c index 8b7005b2b5c..115f6fa8bca 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; + else + dwarf2_where (& loc); - /* 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; dwarf2_gen_line_info (frag_now_fix () - size, &loc); }