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