From d58a192976eba896842e03d757d72492dbcb9a0b Mon Sep 17 00:00:00 2001 From: Richard Henderson Date: Tue, 15 Feb 2011 18:01:07 +0000 Subject: [PATCH] * dw2gencfi.c (dot_cfi_dummy): New. (cfi_pseudo_table) [!TARGET_USE_CFIPOP]: New. * read.c (pobegin): Unconditionally call cfi_pop_insert. --- gas/ChangeLog | 6 ++++++ gas/dw2gencfi.c | 37 +++++++++++++++++++++++++++++++++++++ gas/read.c | 3 +-- 3 files changed, 44 insertions(+), 2 deletions(-) diff --git a/gas/ChangeLog b/gas/ChangeLog index b60fee34e7e..3448f020aa6 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,3 +1,9 @@ +2011-02-15 Richard Henderson + + * dw2gencfi.c (dot_cfi_dummy): New. + (cfi_pseudo_table) [!TARGET_USE_CFIPOP]: New. + * read.c (pobegin): Unconditionally call cfi_pop_insert. + 2011-02-13 Ralf Wildenhues * configure: Regenerate. diff --git a/gas/dw2gencfi.c b/gas/dw2gencfi.c index 974cdfb8bb6..59ca27ca1d0 100644 --- a/gas/dw2gencfi.c +++ b/gas/dw2gencfi.c @@ -1757,6 +1757,43 @@ cfi_finish (void) } #else /* TARGET_USE_CFIPOP */ + +/* Emit an intelligable error message for missing support. */ + +static void +dot_cfi_dummy (int ignored ATTRIBUTE_UNUSED) +{ + as_bad (_("CFI is not supported for this target")); + ignore_rest_of_line (); +} + +const pseudo_typeS cfi_pseudo_table[] = + { + { "cfi_sections", dot_cfi_dummy, 0 }, + { "cfi_startproc", dot_cfi_dummy, 0 }, + { "cfi_endproc", dot_cfi_dummy, 0 }, + { "cfi_def_cfa", dot_cfi_dummy, 0 }, + { "cfi_def_cfa_register", dot_cfi_dummy, 0 }, + { "cfi_def_cfa_offset", dot_cfi_dummy, 0 }, + { "cfi_adjust_cfa_offset", dot_cfi_dummy, 0 }, + { "cfi_offset", dot_cfi_dummy, 0 }, + { "cfi_rel_offset", dot_cfi_dummy, 0 }, + { "cfi_register", dot_cfi_dummy, 0 }, + { "cfi_return_column", dot_cfi_dummy, 0 }, + { "cfi_restore", dot_cfi_dummy, 0 }, + { "cfi_undefined", dot_cfi_dummy, 0 }, + { "cfi_same_value", dot_cfi_dummy, 0 }, + { "cfi_remember_state", dot_cfi_dummy, 0 }, + { "cfi_restore_state", dot_cfi_dummy, 0 }, + { "cfi_window_save", dot_cfi_dummy, 0 }, + { "cfi_escape", dot_cfi_dummy, 0 }, + { "cfi_signal_frame", dot_cfi_dummy, 0 }, + { "cfi_personality", dot_cfi_dummy, 0 }, + { "cfi_lsda", dot_cfi_dummy, 0 }, + { "cfi_val_encoded_addr", dot_cfi_dummy, 0 }, + { NULL, NULL, 0 } + }; + void cfi_finish (void) { diff --git a/gas/read.c b/gas/read.c index ad9363a6044..c38de124e74 100644 --- a/gas/read.c +++ b/gas/read.c @@ -521,11 +521,10 @@ pobegin (void) pop_table_name = "standard"; pop_insert (potable); -#ifdef TARGET_USE_CFIPOP + /* Now CFI ones. */ pop_table_name = "cfi"; pop_override_ok = 1; cfi_pop_insert (); -#endif } #define HANDLE_CONDITIONAL_ASSEMBLY() \ -- 2.30.2