* 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.
This commit is contained in:
Andreas Schwab 2001-11-28 17:00:46 +00:00
parent 5c3cf190c0
commit acebd4ce9d
5 changed files with 26 additions and 1 deletions

View 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>

View file

@ -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;

View 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

View 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)

View 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