summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPetr Machata <pmachata@apm-mustang-ev2-02.ml3.eng.bos.redhat.com>2014-02-04 19:57:50 -0500
committerChanho Park <chanho61.park@samsung.com>2014-08-22 20:38:24 +0900
commiteebaf54024e43902c3aac2ba2ebcc28f7c797b8f (patch)
tree0764b142bcee1833c2d5d2d99bb145a7beaf669d
parentd57069175dc37d27cd783d27c34f3b9c64bc3acf (diff)
downloadltrace-eebaf54024e43902c3aac2ba2ebcc28f7c797b8f.tar.gz
ltrace-eebaf54024e43902c3aac2ba2ebcc28f7c797b8f.tar.bz2
ltrace-eebaf54024e43902c3aac2ba2ebcc28f7c797b8f.zip
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