aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPetr Machata <pmachata@apm-mustang-ev2-02.ml3.eng.bos.redhat.com>2014-02-04 19:57:50 -0500
committerPetr Machata <pmachata@redhat.com>2014-02-05 02:08:41 +0100
commit0b5457a9e59978bcd2eb5240f54838910365a93c (patch)
tree0764b142bcee1833c2d5d2d99bb145a7beaf669d
parent63753e08aaec64973649fcf17368740bebeea21e (diff)
downloadltrace-0b5457a9e59978bcd2eb5240f54838910365a93c.tar.gz
Set child stack alignment in trace-clone.c
- This is important on aarch64, which requires 16-byte aligned stack pointer. This might be relevant on other arches as well, I suspect we just happened to get the 16-byte boundary in some cases.
-rw-r--r--testsuite/ltrace.minor/trace-clone.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/testsuite/ltrace.minor/trace-clone.c b/testsuite/ltrace.minor/trace-clone.c
index db1936d..ded930c 100644
--- a/testsuite/ltrace.minor/trace-clone.c
+++ b/testsuite/ltrace.minor/trace-clone.c
@@ -8,6 +8,7 @@
#include <sys/types.h>
#include <stdlib.h>
#include <sched.h>
+#include <unistd.h>
int child ()
{
@@ -22,7 +23,8 @@ typedef int (* myfunc)();
int main ()
{
pid_t pid;
- static char stack[STACK_SIZE];
+ static __attribute__ ((aligned (16))) char stack[STACK_SIZE];
+
#ifdef __ia64__
pid = __clone2((myfunc)&child, stack, STACK_SIZE, CLONE_FS, NULL);
#else