From 03a0ae7d98f05b0a5576622ecd0ebe8247c30711 Mon Sep 17 00:00:00 2001 From: Ian Lance Taylor Date: Wed, 10 Feb 2016 15:14:05 +0000 Subject: 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 --- libgcc/ChangeLog | 6 ++++++ libgcc/config/i386/morestack.S | 5 ++++- 2 files changed, 10 insertions(+), 1 deletion(-) (limited to 'libgcc') diff --git a/libgcc/ChangeLog b/libgcc/ChangeLog index 8c0cb2d..14e838f 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 f6dc661..3fc7dc3 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__) */ -- cgit v1.1