summaryrefslogtreecommitdiff
path: root/gas/dwarf2dbg.c
diff options
context:
space:
mode:
authorDaniel Jacobowitz <dan@debian.org>2007-08-29 20:03:43 +0000
committerDaniel Jacobowitz <dan@debian.org>2007-08-29 20:03:43 +0000
commit76cf0b7bce4410fa4c58a191601f439602247458 (patch)
tree869a7951afb8b6b2ad610859f9baeba713b89331 /gas/dwarf2dbg.c
parentbfbbc2beec099444412a2ae174183477391f7efa (diff)
downloadbinutils-redhat-76cf0b7bce4410fa4c58a191601f439602247458.tar.gz
* dwarf2dbg.c (dwarf2_directive_loc): Emit duplicate .loc directives.
* gas/lns/lns-duplicate.d, gas/lns/lns-duplicate.s: New. * gas/lns/lns.exp: Run lns-duplicate.
Diffstat (limited to 'gas/dwarf2dbg.c')
-rw-r--r--gas/dwarf2dbg.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/gas/dwarf2dbg.c b/gas/dwarf2dbg.c
index 93b5f480b0..39e434c012 100644
--- a/gas/dwarf2dbg.c
+++ b/gas/dwarf2dbg.c
@@ -570,6 +570,11 @@ dwarf2_directive_loc (int dummy ATTRIBUTE_UNUSED)
{
offsetT filenum, line;
+ /* If we see two .loc directives in a row, force the first one to be
+ output now. */
+ if (loc_directive_seen)
+ dwarf2_emit_insn (0);
+
filenum = get_absolute_expression ();
SKIP_WHITESPACE ();
line = get_absolute_expression ();