* dw2gencfi.c (dot_cfi_dummy): New.
authorRichard Henderson <rth@redhat.com>
Tue, 15 Feb 2011 18:01:07 +0000 (18:01 +0000)
committerRichard Henderson <rth@redhat.com>
Tue, 15 Feb 2011 18:01:07 +0000 (18:01 +0000)
(cfi_pseudo_table) [!TARGET_USE_CFIPOP]: New.
* read.c (pobegin): Unconditionally call cfi_pop_insert.

gas/ChangeLog
gas/dw2gencfi.c
gas/read.c

index b60fee34e7e20a33295c29d316482a442578bdba..3448f020aa6f2fc7c95aededc2cfdb95bd7cf40e 100644 (file)
@@ -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.
index 974cdfb8bb6256dc8535c26c36f30ca82ab6e4b8..59ca27ca1d0f8f2375b5f82ebde0c11fc00019fa 100644 (file)
@@ -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)
 {
index ad9363a60449f2f09756fefba889344df8b65a2a..c38de124e742baf4c439bc9bed19ce06ed75f51e 100644 (file)
@@ -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
 }
 \f
 #define HANDLE_CONDITIONAL_ASSEMBLY()                                  \