On Fri, Feb 16, 2024 at 01:32:04PM +0100, Rainer Orth wrote:
> c-c++-common/asan/swapcontext-test-1.c FAILs on Solaris/SPARC:
>
> FAIL: c-c++-common/asan/swapcontext-test-1.c -O0 execution test
> FAIL: c-c++-common/asan/swapcontext-test-1.c -O1 execution test
> FAIL: c-c++-common/asan/swapcontext-test-1.c -O2 execution test
> FAIL: c-c++-common/asan/swapcontext-test-1.c -O2 -flto execution test
> FAIL: c-c++-common/asan/swapcontext-test-1.c -O2 -flto -flto-partition=none
> execution test
> FAIL: c-c++-common/asan/swapcontext-test-1.c -O3 -fomit-frame-pointer
> -funroll-loops -fpeel-loops -ftracer -finline-functions execution test
> FAIL: c-c++-common/asan/swapcontext-test-1.c -O3 -g execution test
> FAIL: c-c++-common/asan/swapcontext-test-1.c -Os execution test
>
> As detailed in PR sanitizer/113785, this happens because an ABI change
> in Solaris 10/SPARC caused the external symbol for makecontext to be
> changed to __makecontext_v2, which isn't intercepted.
Is Solaris 9/SPARC and earlier no longer supported in GCC?
If so, ok for trunk.
Otherwise I'd expect some ifdefs or whatever to check if it is
Solaris 10+ with __makecontext_v2 or Solaris up to 9 with makecontext.
Jakub