Subject: CVS commit: gnusrc/gnu/dist/toolchain/gcc
To: None <>
From: Jason R Thorpe <>
List: source-changes
Date: 11/19/2002 06:46:13
Module Name:	gnusrc
Committed By:	thorpej
Date:		Tue Nov 19 04:46:13 UTC 2002

Modified Files:
	gnusrc/gnu/dist/toolchain/gcc: gcc.c
	gnusrc/gnu/dist/toolchain/gcc/config: netbsd.h
	gnusrc/gnu/dist/toolchain/gcc/config/sparc: netbsd64.h

Log Message:
Back-port "spec functions" from GCC 3.3.  Use if "if-exists()" spec
function to include crti.o/crtn.o in the STARTFILE and ENDFILE
specs, respectively.

Corresponding GCC ChangeLog entry:

2002-11-19  Jason Thorpe  <>

        * 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.

To generate a diff of this commit:
cvs rdiff -r1.2 -r1.3 gnusrc/gnu/dist/toolchain/gcc/gcc.c
cvs rdiff -r1.15 -r1.16 gnusrc/gnu/dist/toolchain/gcc/config/netbsd.h
cvs rdiff -r1.8 -r1.9 gnusrc/gnu/dist/toolchain/gcc/config/sparc/netbsd64.h

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.