diff options
author | Nicholas Piggin <npiggin@gmail.com> | 2018-05-12 13:35:24 +1000 |
---|---|---|
committer | Michael Ellerman <mpe@ellerman.id.au> | 2018-05-14 23:10:33 +1000 |
commit | c906d2c74e0bb9059fbf43e21f8a962986eb21e2 (patch) | |
tree | a1467c2f2d665d61c40e5e07c00c601e6fbbd523 /tools/testing/selftests/powerpc | |
parent | 7ef73cd39b4e2829ee88c06f938bc7de5aff487f (diff) | |
download | op-kernel-dev-c906d2c74e0bb9059fbf43e21f8a962986eb21e2.zip op-kernel-dev-c906d2c74e0bb9059fbf43e21f8a962986eb21e2.tar.gz |
selftests/powerpc: fix exec benchmark
The exec_target binary could segfault calling _exit(2) because r13
is not set up properly (and libc looks at that when performing a
syscall). Call SYS_exit using syscall(2) which doesn't seem to
have this problem.
Signed-off-by: Nicholas Piggin <npiggin@gmail.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Diffstat (limited to 'tools/testing/selftests/powerpc')
-rw-r--r-- | tools/testing/selftests/powerpc/benchmarks/exec_target.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/tools/testing/selftests/powerpc/benchmarks/exec_target.c b/tools/testing/selftests/powerpc/benchmarks/exec_target.c index 3c9c144..c14b0fc 100644 --- a/tools/testing/selftests/powerpc/benchmarks/exec_target.c +++ b/tools/testing/selftests/powerpc/benchmarks/exec_target.c @@ -6,8 +6,11 @@ * Copyright 2018, Anton Blanchard, IBM Corp. */ -void _exit(int); +#define _GNU_SOURCE +#include <unistd.h> +#include <sys/syscall.h> + void _start(void) { - _exit(0); + syscall(SYS_exit, 0); } |