Commit 03a0ae7d by Ian Lance Taylor Committed by Ian Lance Taylor

re PR go/68562 (morestack misaligns stack on x86_64)

	PR go/68562
	* config/i386/morestack.S (__stack_split_initialize): Align
	stack.

From-SVN: r233273
parent e199dd0a
2016-02-10 Ian Lance Taylor <iant@google.com>
PR go/68562
* config/i386/morestack.S (__stack_split_initialize): Align
stack.
2016-02-03 Andreas Tobler <andreast@gcc.gnu.org> 2016-02-03 Andreas Tobler <andreast@gcc.gnu.org>
PR bootstrap/69611 PR bootstrap/69611
......
...@@ -732,6 +732,7 @@ __stack_split_initialize: ...@@ -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: ...@@ -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: ...@@ -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__) */
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment