diff options
author | Jan Beulich <jbeulich@novell.com> | 2005-09-28 14:51:02 +0000 |
---|---|---|
committer | Jan Beulich <jbeulich@novell.com> | 2005-09-28 14:51:02 +0000 |
commit | 7c9c8381d9b4fe39531f5b2988ca9da13a974c4e (patch) | |
tree | 84558e7e3a7c781d3711ac0a9e69c29c6e3114d5 | |
parent | d182319b0955ee234d2c9c1e1a68c38344238274 (diff) | |
download | gdb-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.
-rw-r--r-- | gas/ChangeLog | 8 | ||||
-rw-r--r-- | gas/dw2gencfi.c | 9 |
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 (); } |