https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113785

--- Comment #5 from GCC Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Rainer Orth <r...@gcc.gnu.org>:

https://gcc.gnu.org/g:7c6071a66f32f43cea7aa4aa32d89b338e768307

commit r14-9030-g7c6071a66f32f43cea7aa4aa32d89b338e768307
Author: Rainer Orth <r...@cebitec.uni-bielefeld.de>
Date:   Fri Feb 16 14:06:24 2024 +0100

    libsanitizer: Intercept __makecontext_v2 on Solaris/SPARC [PR113785]

    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.

    The following patch, submitted upstream at
    https://github.com/llvm/llvm-project/pull/81588, fixes that.

    Tested on sparc-sun-solaris2.11 and i386-pc-solaris2.11.

    2024-02-16  Rainer Orth  <r...@cebitec.uni-bielefeld.de>

            libsanitizer:
            PR sanitizer/113785
            * asan/asan_interceptors.cpp: Cherry-pick llvm-project revision
            8c2033719a843a1880427a5e8caa5563248bce78.

Reply via email to