r152321 - in /branches/split: gcc/ChangeLog.spl...

ian@gcc.gnu.org ian@gcc.gnu.org
Wed Sep 30 06:37:00 GMT 2009


Author: ian
Date: Wed Sep 30 06:37:49 2009
New Revision: 152321

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=152321
Log:
gcc/:
	* gcc.c (STACK_SPLIT_SPEC): Define.
	(LINK_COMMAND_SPEC): Use STACK_SPLIT_SPEC.
	* config/i386/i386.c (ix86_supports_split_stack): Remove test of
	flag_stack_protect.
	(ix86_expand_split_stack_prologue): Set call insn function usage
	to include register parameters.  Emit return instruction after
	call to __morestack.
	* config/i386/i386.md (split_stack_check_small): Use unsigned
	comparison.
	(split_stack_check_large): Likewise.
	(split_stack_return): New insn.
	* config/i386/linux.h (TARGET_THREAD_SPLIT_STACK_OFFSET): Change
	value.
	* config/i386/linux64.h (TARGET_THREAD_SPLIT_STACK_OFFSET):
	Likewise.
libgcc/:
	* generic-morestack.c: #include <pthread.h>.
	(__generic_morestack): Make hidden.
	(__generic_releasestack): Likewise.
	(allocate_segment): Only use sync_val_compare_and_swap if it is
	available.
	(struct pthread_create_args): Define.
	(stack_split_initialize_thread): New static function.
	(__wrap_pthread_create): New function.
	* config/i386/morestack.S (__morestack): Add CFI pseudo-ops.  Use
	a frame pointer.  Change call/return sequence.  Remove __PIC__
	code.  Change TCB offsets.
	(__stack_split_initialize): Rename from init.  Make global.
	Change TCB offsets.

Modified:
    branches/split/gcc/ChangeLog.split
    branches/split/gcc/config/i386/i386.c
    branches/split/gcc/config/i386/i386.md
    branches/split/gcc/config/i386/linux.h
    branches/split/gcc/config/i386/linux64.h
    branches/split/gcc/gcc.c
    branches/split/libgcc/ChangeLog.split
    branches/split/libgcc/config/i386/morestack.S
    branches/split/libgcc/generic-morestack.c



More information about the Gcc-cvs mailing list