Subject: CVS commit: gnusrc/gnu/dist/toolchain/gcc/config
To: None <source-changes@netbsd.org>
From: Jason R Thorpe <thorpej@netbsd.org>
List: source-changes
Date: 10/18/2002 19:23:51
Module Name:	gnusrc
Committed By:	thorpej
Date:		Fri Oct 18 16:23:50 UTC 2002

Modified Files:
	gnusrc/gnu/dist/toolchain/gcc/config: netbsd.h
	gnusrc/gnu/dist/toolchain/gcc/config/alpha: netbsd.h
	gnusrc/gnu/dist/toolchain/gcc/config/i386: i386.c i386.h netbsd-elf.h
	    netbsd.h
	gnusrc/gnu/dist/toolchain/gcc/config/sparc: netbsd-elf-common.h
	    netbsd.h

Log Message:
Add an x86_initialize_trampoline() function, similar to GCC 3.3,
change INITIALIZE_TRAMPOLINE() to use it, and apply the following
patch to it (which I have already submitted to GCC 3.3):

	* config/i386/i386.c (x86_initialize_trampoline): Emit a call
	to __enable_execute_stack with the address of the trampoline
	if TRANSFER_FROM_TRAMPOLINE is defined.

Define a TRANSFER_FROM_TRAMPOLINE suitable for NetBSD targets, to enable
stack execution on target machines which can separate exec permissions for
a region:

	* config/netbsd.h (NETBSD_ENABLE_EXECUTE_STACK): Define.
	* config/alpha/netbsd.h (TRANSFER_FROM_TRAMPOLINE): Define
	as NETBSD_ENABLE_EXECUTE_STACK.
	* config/i386/netbsd-elf.h (TRANSFER_FROM_TRAMPOLINE): Ditto.
	* config/i386/netbsd.h (TRANSFER_FROM_TRAMPOLINE): Ditto.
	* config/sparc/netbsd-elf-common.h (TRANSFER_FROM_TRAMPOLINE): Ditto.
	* config/sparc/netbsd.h (TRANSFER_FROM_TRAMPOLINE): Ditto.

(A similar patch will be submitted to GCC 3.3.)


To generate a diff of this commit:
cvs rdiff -r1.14 -r1.15 gnusrc/gnu/dist/toolchain/gcc/config/netbsd.h
cvs rdiff -r1.10 -r1.11 gnusrc/gnu/dist/toolchain/gcc/config/alpha/netbsd.h
cvs rdiff -r1.2 -r1.3 gnusrc/gnu/dist/toolchain/gcc/config/i386/i386.c \
    gnusrc/gnu/dist/toolchain/gcc/config/i386/i386.h
cvs rdiff -r1.6 -r1.7 gnusrc/gnu/dist/toolchain/gcc/config/i386/netbsd-elf.h
cvs rdiff -r1.3 -r1.4 gnusrc/gnu/dist/toolchain/gcc/config/i386/netbsd.h
cvs rdiff -r1.4 -r1.5 \
    gnusrc/gnu/dist/toolchain/gcc/config/sparc/netbsd-elf-common.h
cvs rdiff -r1.2 -r1.3 gnusrc/gnu/dist/toolchain/gcc/config/sparc/netbsd.h

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