From: H.J. Lu Date: Mon, 2 May 2016 21:45:34 +0000 (+0000) Subject: backport: Since x86 psABIs require the function incoming stack must align at 16 bytes... X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=50d94c29c00b00c0e569ec29b56715d8eb1c30af;p=gcc.git backport: Since x86 psABIs require the function incoming stack must align at 16 bytes... Backport r265322 from llvm upstream Since x86 psABIs require the function incoming stack must align at 16 bytes, child process stack passed to clone should be aligned at 16 bytes. PR testsuite/70520 * c-c++-common/asan/clone-test-1.c (main): Align child process stack to 16 bytes. From-SVN: r235790 --- diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 4bd9f88af49..7bc4374dbd7 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,9 @@ +2016-05-02 H.J. Lu + + PR testsuite/70520 + * c-c++-common/asan/clone-test-1.c (main): Align child process + stack to 16 bytes. + 2016-05-02 David Malcolm PR c++/62314 diff --git a/gcc/testsuite/c-c++-common/asan/clone-test-1.c b/gcc/testsuite/c-c++-common/asan/clone-test-1.c index fd187aaadd2..eeca09f3e68 100644 --- a/gcc/testsuite/c-c++-common/asan/clone-test-1.c +++ b/gcc/testsuite/c-c++-common/asan/clone-test-1.c @@ -25,7 +25,7 @@ volatile int zero = 0; int main(int argc, char **argv) { int i; const int kStackSize = 1 << 20; - char child_stack[kStackSize + 1]; + char __attribute__((aligned(16))) child_stack[kStackSize + 1]; char *sp = child_stack + kStackSize; /* Stack grows down. */ printf("Parent: %p\n", sp); pid_t clone_pid = clone(Child, sp, CLONE_FILES | CLONE_VM, NULL, 0, 0, 0);