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