* as.c (parse_args): Call md_after_parse_args if defined.
authorAndreas Schwab <schwab@linux-m68k.org>
Wed, 28 Nov 2001 17:00:46 +0000 (17:00 +0000)
committerAndreas Schwab <schwab@linux-m68k.org>
Wed, 28 Nov 2001 17:00:46 +0000 (17:00 +0000)
* config/tc-ia64.h (md_after_parse_args): Define.
* config/tc-ia64.c (ia64_after_parse_args): Reject --gstabs.
* doc/internals.texi (CPU backend): Document md_after_parse_args.

gas/ChangeLog
gas/as.c
gas/config/tc-ia64.c
gas/config/tc-ia64.h
gas/doc/internals.texi

index b2caa0b36d25ff17daf9ff6064206e3477fd46a6..261ce4d0249c399b83c0aac58c902a42b60cb295 100644 (file)
@@ -1,3 +1,10 @@
+2001-11-28  Andreas Schwab  <schwab@suse.de>
+
+       * as.c (parse_args): Call md_after_parse_args if defined.
+       * config/tc-ia64.h (md_after_parse_args): Define.
+       * config/tc-ia64.c (ia64_after_parse_args): Reject --gstabs.
+       * doc/internals.texi (CPU backend): Document md_after_parse_args.
+
 2001-11-23  Jakub Jelinek  <jakub@redhat.com>
 
        * config/tc-alpha.c (tc_gen_reloc): Remove SEC_MERGE test.
@@ -1772,7 +1779,7 @@ Wed Aug 29 12:05:13 2001  J"orn Rennecke <amylaar@redhat.com>
        TC_FINALIZE_SYMS_BEFORE_SIZE_SEG just before size_segs is
        called.
 
-       * doc/internals.texi; Document
+       * doc/internals.texi: Document
        TC_FINALIZE_SYMS_BEFORE_SIZE_SEG.
 
 2001-07-02  Alan Modra  <amodra@bigpond.net.au>
index d5922b07d1aca0a6d9c39a08db4c0080d895ac59..5f6832f2e9df2fd98bea76aa7f50f2f9e76ca3ed 100644 (file)
--- a/gas/as.c
+++ b/gas/as.c
@@ -762,6 +762,10 @@ the GNU General Public License.  This program has absolutely no warranty.\n"));
 
   *pargc = new_argc;
   *pargv = new_argv;
+
+#ifdef md_after_parse_args
+  md_after_parse_args ();
+#endif
 }
 
 static long start_time;
index d2523cf7db4ce8d323bdeee93ca9f9e6eec5c7cd..8c98cc2c00a02144b6b86a3fdd4ef4362e2beac5 100644 (file)
@@ -6310,6 +6310,13 @@ IA-64 options:\n\
        stream);
 }
 
+void
+ia64_after_parse_args ()
+{
+  if (debug_type == DEBUG_STABS)
+    as_fatal (_("--gstabs is not supported for ia64"));
+}
+
 /* Return true if TYPE fits in TEMPL at SLOT.  */
 
 static int
index 7921abf0e5febcc5de3119597a58503fcd8cc734..320798b50b3b7524a06d34ffb9df28d27b047d53 100644 (file)
@@ -86,6 +86,7 @@ extern int ia64_elf_section_type PARAMS ((const char *, size_t len));
 extern long ia64_pcrel_from_section PARAMS ((struct fix *fix, segT sec));
 extern void ia64_md_do_align PARAMS ((int, const char *, int, int));
 extern void ia64_handle_align PARAMS ((fragS *f));
+extern void ia64_after_parse_args PARAMS ((void));
 
 #define md_end()                               ia64_end_of_source ()
 #define md_start_line_hook()           ia64_start_line ()
@@ -114,6 +115,7 @@ extern void ia64_handle_align PARAMS ((fragS *f));
 #define md_do_align(n,f,l,m,j)         ia64_md_do_align (n,f,l,m)
 #define HANDLE_ALIGN(f)                        ia64_handle_align (f)
 #define md_elf_section_type(str,len)   ia64_elf_section_type (str, len)
+#define md_after_parse_args()          ia64_after_parse_args ()
 
 #define MAX_MEM_FOR_RS_ALIGN_CODE  (15 + 16)
 
index 4abf0d951e52270fff829d8adab57f9016c1dc50..e7d300955a3f970d8d00bca28c2032fefce4a401 100644 (file)
@@ -843,11 +843,13 @@ zero if the target is little endian.
 @itemx md_longopts_size
 @itemx md_parse_option
 @itemx md_show_usage
+@itemx md_after_parse_args
 @cindex md_shortopts
 @cindex md_longopts
 @cindex md_longopts_size
 @cindex md_parse_option
 @cindex md_show_usage
+@cindex md_after_parse_args
 GAS uses these variables and functions during option processing.
 @code{md_shortopts} is a @code{const char *} which GAS adds to the machine
 independent string passed to @code{getopt}.  @code{md_longopts} is a
@@ -859,6 +861,9 @@ GAS will call @code{md_parse_option} whenever @code{getopt} returns an
 unrecognized code, presumably indicating a special code value which appears in
 @code{md_longopts}.  GAS will call @code{md_show_usage} when a usage message is
 printed; it should print a description of the machine specific options.
+@code{md_after_pase_args}, if defined, is called after all options are
+processed, to let the backend override settings done by the generic option
+parsing.
 
 @item md_begin
 @cindex md_begin