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.

Tested on Linux/x86-64.  OK for trunk?


H.J.
        PR testsuite/70520
        * c-c++-common/asan/clone-test-1.c (main): Align child process
        stack to 16 bytes.
---
 gcc/testsuite/c-c++-common/asan/clone-test-1.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

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 fd187aa..eeca09f 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);
-- 
2.5.5

Reply via email to