This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

GCC patch committed: fix -fsplit-stack alloca with -mno-accumulate-outgoing-args


Than McIntosh encountered a bug on 32-bit x86 with code that calls
alloca when using -fsplit-stack when -mno-accumulate-outgoing-args is
in effect.  When alloca is called after a function call, the arguments
are left on the stack, which can cause the stack to become misaligned.
The problem is simply that the stack-split alloca support is
implemented before calling do_pending_stack_adjust.  This patch fixes
the problem and adds a test case.  Bootstrapped and ran all tests on
x86_64-pc-linux-gnu.  Committed to mainline.

Ian

2016-10-04  Ian Lance Taylor  <iant@golang.org>

* explow.c (allocate_dynamic_stack_space): Call
do_pending_stack_adjust before handling flag_split_stack.

2016-10-04  Ian Lance Taylor  <iant@golang.org>

* gcc.dg/split-7.c: New test.

Attachment: patch.txt
Description: Text document


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]