diff options
Diffstat (limited to 'gas')
-rw-r--r-- | gas/ChangeLog | 6 | ||||
-rw-r--r-- | gas/dw2gencfi.c | 37 | ||||
-rw-r--r-- | gas/read.c | 3 |
3 files changed, 44 insertions, 2 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog index b60fee3..3448f02 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,3 +1,9 @@ +2011-02-15 Richard Henderson <rth@redhat.com> + + * 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 <Ralf.Wildenhues@gmx.de> * configure: Regenerate. diff --git a/gas/dw2gencfi.c b/gas/dw2gencfi.c index 974cdfb..59ca27c 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) { @@ -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() \ |