From c906d2c74e0bb9059fbf43e21f8a962986eb21e2 Mon Sep 17 00:00:00 2001 From: Nicholas Piggin Date: Sat, 12 May 2018 13:35:24 +1000 Subject: [PATCH] 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 Signed-off-by: Michael Ellerman --- tools/testing/selftests/powerpc/benchmarks/exec_target.c | 7 +++++-- 1 file 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 3c9c144192be..c14b0fc1edde 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 +#include + void _start(void) { - _exit(0); + syscall(SYS_exit, 0); }