]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
selftests/sigaltstack: Fix ppc64 GCC build
authorMichael Ellerman <mpe@ellerman.id.au>
Mon, 20 May 2024 06:26:47 +0000 (16:26 +1000)
committerMichael Ellerman <mpe@ellerman.id.au>
Mon, 1 Jul 2024 11:35:38 +0000 (21:35 +1000)
Building the sigaltstack test with GCC on 64-bit powerpc errors with:

  gcc -Wall     sas.c  -o /home/michael/linux/.build/kselftest/sigaltstack/sas
  In file included from sas.c:23:
  current_stack_pointer.h:22:2: error: #error "implement current_stack_pointer equivalent"
     22 | #error "implement current_stack_pointer equivalent"
        |  ^~~~~
  sas.c: In function ‘my_usr1’:
  sas.c:50:13: error: ‘sp’ undeclared (first use in this function); did you mean ‘p’?
     50 |         if (sp < (unsigned long)sstack ||
        |             ^~

This happens because GCC doesn't define __ppc__ for 64-bit builds, only
32-bit builds. Instead use __powerpc__ to detect powerpc builds, which
is defined by clang and GCC for 64-bit and 32-bit builds.

Fixes: 05107edc9101 ("selftests: sigaltstack: fix -Wuninitialized")
Cc: stable@vger.kernel.org # v6.3+
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Link: https://msgid.link/20240520062647.688667-1-mpe@ellerman.id.au
tools/testing/selftests/sigaltstack/current_stack_pointer.h

index ea9bdf3a90b16449a0ffcdfcdc54247125f1c806..09da8f1011ce4cfc6dc3e6e5da39e6b9c7d5bd18 100644 (file)
@@ -8,7 +8,7 @@ register unsigned long sp asm("sp");
 register unsigned long sp asm("esp");
 #elif __loongarch64
 register unsigned long sp asm("$sp");
-#elif __ppc__
+#elif __powerpc__
 register unsigned long sp asm("r1");
 #elif __s390x__
 register unsigned long sp asm("%15");