aboutsummaryrefslogtreecommitdiff
path: root/gas
diff options
context:
space:
mode:
authorJan Beulich <jbeulich@novell.com>2005-09-28 14:51:02 +0000
committerJan Beulich <jbeulich@novell.com>2005-09-28 14:51:02 +0000
commit7c9c8381d9b4fe39531f5b2988ca9da13a974c4e (patch)
tree84558e7e3a7c781d3711ac0a9e69c29c6e3114d5 /gas
parentd182319b0955ee234d2c9c1e1a68c38344238274 (diff)
downloadgdb-7c9c8381d9b4fe39531f5b2988ca9da13a974c4e.zip
gdb-7c9c8381d9b4fe39531f5b2988ca9da13a974c4e.tar.gz
gdb-7c9c8381d9b4fe39531f5b2988ca9da13a974c4e.tar.bz2
gas/
2005-09-28 Jan Beulich <jbeulich@novell.com> * dw2gencfi.c (dot_cfi): Call ignore_rest_of_line when not fully parsing the input. (dot_cfi_startproc): Likewise. (dot_cfi_endproc): Likewise. Also check no extra input was given. (dot_cfi_escape): Likewise.
Diffstat (limited to 'gas')
-rw-r--r--gas/ChangeLog8
-rw-r--r--gas/dw2gencfi.c9
2 files changed, 17 insertions, 0 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog
index b513b57..91d515f 100644
--- a/gas/ChangeLog
+++ b/gas/ChangeLog
@@ -1,5 +1,13 @@
2005-09-28 Jan Beulich <jbeulich@novell.com>
+ * dw2gencfi.c (dot_cfi): Call ignore_rest_of_line when not fully
+ parsing the input.
+ (dot_cfi_startproc): Likewise.
+ (dot_cfi_endproc): Likewise. Also check no extra input was given.
+ (dot_cfi_escape): Likewise.
+
+2005-09-28 Jan Beulich <jbeulich@novell.com>
+
* config/tc-i386.h (x86_cons_fix_new): Declare unconditionally.
(TC_CONS_FIX_NEW): Define unconditionally.
(x86_pe_cons_fix_new): Remove.
diff --git a/gas/dw2gencfi.c b/gas/dw2gencfi.c
index d54e233..65be298 100644
--- a/gas/dw2gencfi.c
+++ b/gas/dw2gencfi.c
@@ -447,6 +447,7 @@ dot_cfi (int arg)
if (!cur_fde_data)
{
as_bad (_("CFI instruction used without previous .cfi_startproc"));
+ ignore_rest_of_line ();
return;
}
@@ -548,6 +549,7 @@ dot_cfi_escape (int ignored ATTRIBUTE_UNUSED)
if (!cur_fde_data)
{
as_bad (_("CFI instruction used without previous .cfi_startproc"));
+ ignore_rest_of_line ();
return;
}
@@ -570,6 +572,9 @@ dot_cfi_escape (int ignored ATTRIBUTE_UNUSED)
insn = alloc_cfi_insn_data ();
insn->insn = CFI_escape;
insn->u.esc = head;
+
+ --input_line_pointer;
+ demand_empty_rest_of_line ();
}
static void
@@ -580,6 +585,7 @@ dot_cfi_startproc (int ignored ATTRIBUTE_UNUSED)
if (cur_fde_data)
{
as_bad (_("previous CFI entry not closed (missing .cfi_endproc)"));
+ ignore_rest_of_line ();
return;
}
@@ -614,10 +620,13 @@ dot_cfi_endproc (int ignored ATTRIBUTE_UNUSED)
if (! cur_fde_data)
{
as_bad (_(".cfi_endproc without corresponding .cfi_startproc"));
+ ignore_rest_of_line ();
return;
}
cfi_end_fde (symbol_temp_new_now ());
+
+ demand_empty_rest_of_line ();
}