mirror of git://gcc.gnu.org/git/gcc.git
re PR go/68562 (morestack misaligns stack on x86_64)
PR go/68562 * config/i386/morestack.S (__stack_split_initialize): Align stack. From-SVN: r233274
This commit is contained in:
parent
7a072794bb
commit
6e356d838f
|
|
@ -1,3 +1,9 @@
|
||||||
|
2016-02-10 Ian Lance Taylor <iant@google.com>
|
||||||
|
|
||||||
|
PR go/68562
|
||||||
|
* config/i386/morestack.S (__stack_split_initialize): Align
|
||||||
|
stack.
|
||||||
|
|
||||||
2015-12-09 John David Anglin <danglin@gcc.gnu.org>
|
2015-12-09 John David Anglin <danglin@gcc.gnu.org>
|
||||||
|
|
||||||
* config/pa/fptr.c (__canonicalize_funcptr_for_compare): Remove code
|
* config/pa/fptr.c (__canonicalize_funcptr_for_compare): Remove code
|
||||||
|
|
|
||||||
|
|
@ -732,6 +732,7 @@ __stack_split_initialize:
|
||||||
|
|
||||||
leal -16000(%esp),%eax # We should have at least 16K.
|
leal -16000(%esp),%eax # We should have at least 16K.
|
||||||
movl %eax,%gs:0x30
|
movl %eax,%gs:0x30
|
||||||
|
subl $4,%esp # Align stack.
|
||||||
pushl $16000
|
pushl $16000
|
||||||
pushl %esp
|
pushl %esp
|
||||||
#ifdef __PIC__
|
#ifdef __PIC__
|
||||||
|
|
@ -739,13 +740,14 @@ __stack_split_initialize:
|
||||||
#else
|
#else
|
||||||
call __generic_morestack_set_initial_sp
|
call __generic_morestack_set_initial_sp
|
||||||
#endif
|
#endif
|
||||||
addl $8,%esp
|
addl $12,%esp
|
||||||
ret
|
ret
|
||||||
|
|
||||||
#else /* defined(__x86_64__) */
|
#else /* defined(__x86_64__) */
|
||||||
|
|
||||||
leaq -16000(%rsp),%rax # We should have at least 16K.
|
leaq -16000(%rsp),%rax # We should have at least 16K.
|
||||||
X86_64_SAVE_NEW_STACK_BOUNDARY (ax)
|
X86_64_SAVE_NEW_STACK_BOUNDARY (ax)
|
||||||
|
subq $8,%rsp # Align stack.
|
||||||
movq %rsp,%rdi
|
movq %rsp,%rdi
|
||||||
movq $16000,%rsi
|
movq $16000,%rsi
|
||||||
#ifdef __PIC__
|
#ifdef __PIC__
|
||||||
|
|
@ -753,6 +755,7 @@ __stack_split_initialize:
|
||||||
#else
|
#else
|
||||||
call __generic_morestack_set_initial_sp
|
call __generic_morestack_set_initial_sp
|
||||||
#endif
|
#endif
|
||||||
|
addq $8,%rsp
|
||||||
ret
|
ret
|
||||||
|
|
||||||
#endif /* defined(__x86_64__) */
|
#endif /* defined(__x86_64__) */
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue