From: Ian Lance Taylor Date: Wed, 10 Feb 2016 15:14:05 +0000 (+0000) Subject: re PR go/68562 (morestack misaligns stack on x86_64) X-Git-Tag: basepoints/gcc-7~1011 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=03a0ae7d98f05b0a5576622ecd0ebe8247c30711;p=thirdparty%2Fgcc.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: r233273 --- diff --git a/libgcc/ChangeLog b/libgcc/ChangeLog index 8c0cb2d6fe3c..14e838f33fe5 100644 --- a/libgcc/ChangeLog +++ b/libgcc/ChangeLog @@ -1,3 +1,9 @@ +2016-02-10 Ian Lance Taylor + + PR go/68562 + * config/i386/morestack.S (__stack_split_initialize): Align + stack. + 2016-02-03 Andreas Tobler PR bootstrap/69611 diff --git a/libgcc/config/i386/morestack.S b/libgcc/config/i386/morestack.S index f6dc661edd5c..3fc7dc3b5b2e 100644 --- a/libgcc/config/i386/morestack.S +++ b/libgcc/config/i386/morestack.S @@ -732,6 +732,7 @@ __stack_split_initialize: leal -16000(%esp),%eax # We should have at least 16K. movl %eax,%gs:0x30 + subl $4,%esp # Align stack. pushl $16000 pushl %esp #ifdef __PIC__ @@ -739,13 +740,14 @@ __stack_split_initialize: #else call __generic_morestack_set_initial_sp #endif - addl $8,%esp + addl $12,%esp ret #else /* defined(__x86_64__) */ leaq -16000(%rsp),%rax # We should have at least 16K. X86_64_SAVE_NEW_STACK_BOUNDARY (ax) + subq $8,%rsp # Align stack. movq %rsp,%rdi movq $16000,%rsi #ifdef __PIC__ @@ -753,6 +755,7 @@ __stack_split_initialize: #else call __generic_morestack_set_initial_sp #endif + addq $8,%rsp ret #endif /* defined(__x86_64__) */