This is the mail archive of the binutils@sourceware.org mailing list for the binutils project.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
Other format: | [Raw text] |
This eliminates odd extra error messages when CFI directives weren't used properly. Built and tested on i686-pc-linux-gnu and x86_64-unknown-linux-gnu. Jan gas/ 2005-09-13 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. --- /home/jbeulich/src/binutils/mainline/2005-09-13/gas/dw2gencfi.c 2005-08-18 08:51:26.000000000 +0200 +++ 2005-09-13/gas/dw2gencfi.c 2005-09-05 17:26:48.000000000 +0200 @@ -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_UN 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_UN 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 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_U 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 (); }
Attachment:
binutils-mainline-cfi-error-handling.patch
Description: Binary data
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |