aboutsummaryrefslogtreecommitdiff
path: root/gas
diff options
context:
space:
mode:
Diffstat (limited to 'gas')
-rw-r--r--gas/ChangeLog6
-rw-r--r--gas/dw2gencfi.c37
-rw-r--r--gas/read.c3
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)
{
diff --git a/gas/read.c b/gas/read.c
index ad9363a..c38de12 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() \