* gcc.c (The Specs Language): Document spec functions.
(static_spec_functions, lookup_spec_function)
(eval_spec_function, handle_spec_function)
(if_exists_spec_function, alloc_args): New.
(execute): Abort if processing_spec_function is true.
(do_spec_1): Hand off spec to handle_spec_function if %:
is encountered. If processing_spec_function is true,
end any pending argument when the end of the string is reached.
(main): Use alloc_args to allocate the initial argument vector.
* gcc.h (struct spec_function): New.
(lang_specific_spec_functions): New extern.
* config/netbsd-elf.h (STARTFILE_SPEC): Add if-exists(crti%O%s).
(ENDFILE_SPEC): Add if-exists(crtn%O%s).
* config/alpha/netbsd.h (ENDFILE_SPEC): Likewise.
* doc/invoke.texi: Document spec functions.
* cppspec.c (lang_specific_spec_functions): New.
* gccspec.c: Likewise.
* g++spec.c (lang_specific_spec_functions): New.
* g77spec.c (lang_specific_spec_functions): New.
* jvspec.c (lang_specific_spec_functions): New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@59241
138bc75d-0d04-0410-961f-
82ee72b054a4