Skip to content

[compiler-rt] [Fuzzer] Fix ARMv7 test link failure by linking unwinder #144495

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 2 commits into from
Jun 18, 2025

Conversation

omjavaid
Copy link
Contributor

compiler-rt/lib/fuzzer/tests build was failing on armv7, with undefined references to unwinder symbols, such as __aeabi_unwind_cpp_pr0.

This occurs because the test is built with -nostdlib++ but libunwind is not explicitly linked to the final test executable.

This patch resolves the issue by adding CMake logic to explicitly link the required unwinder to the fuzzer tests, inspired by the same solution used to fix Scudo build failures by https://reviews.llvm.org/D142888.

compiler-rt/lib/fuzzer/tests build was failing on armv7, with undefined
references to unwinder symbols, such as __aeabi_unwind_cpp_pr0.

This occurs because the test is built with `-nostdlib++` but `libunwind`
is not explicitly linked to the final test executable.

This patch resolves the issue by adding CMake logic to explicitly link
the required unwinder to the fuzzer tests, inspired by the same solution
used to fix Scudo build failures by https://reviews.llvm.org/D142888.
@omjavaid omjavaid requested review from DavidSpickett and luporl June 17, 2025 09:59
Copy link
Contributor

@luporl luporl left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@omjavaid omjavaid merged commit 6f4add3 into llvm:main Jun 18, 2025
7 checks passed
@omjavaid omjavaid deleted the fuzzer-armv7-link-failure branch June 18, 2025 14:25
@llvm-ci
Copy link
Collaborator

llvm-ci commented Jun 18, 2025

LLVM Buildbot has detected a new failure on builder sanitizer-aarch64-linux running on sanitizer-buildbot8 while building compiler-rt at step 2 "annotate".

Full details are available at: https://lab.llvm.org/buildbot/#/builders/51/builds/18170

Here is the relevant piece of the build log for the reference
Step 2 (annotate) failure: 'python ../sanitizer_buildbot/sanitizers/zorg/buildbot/builders/sanitizers/buildbot_selector.py' (failure)
...
-- Install configuration: "Release"
[169/186] Generating MSAN_INST_TEST_OBJECTS.msan_test_main.cpp.aarch64.o
[171/186] Linking CXX static library /home/b/sanitizer-aarch64-linux/build/build_default/lib/clang/21/lib/aarch64-unknown-linux-gnu/libclang_rt.fuzzer_interceptors.a
[172/186] Linking CXX static library /home/b/sanitizer-aarch64-linux/build/build_default/lib/clang/21/lib/aarch64-unknown-linux-gnu/libclang_rt.fuzzer.a
[173/186] Linking CXX static library /home/b/sanitizer-aarch64-linux/build/build_default/lib/clang/21/lib/aarch64-unknown-linux-gnu/libclang_rt.fuzzer_no_main.a
[174/186] Generating FuzzedDataProviderTestObjects.FuzzedDataProviderUnittest.cpp.aarch64.o
[175/186] Generating FuzzerTestObjects.FuzzerUnittest.cpp.aarch64.o
[176/186] Generating FuzzerTestObjects.gtest-all.cc.aarch64.o
[177/186] Generating FuzzedDataProviderTestObjects.gtest-all.cc.aarch64.o
[178/186] Generating Fuzzer-aarch64-Test
FAILED: compiler-rt/lib/fuzzer/tests/Fuzzer-aarch64-Test /home/b/sanitizer-aarch64-linux/build/build_default/runtimes/runtimes-bins/compiler-rt/lib/fuzzer/tests/Fuzzer-aarch64-Test 
cd /home/b/sanitizer-aarch64-linux/build/build_default/runtimes/runtimes-bins/compiler-rt/lib/fuzzer/tests && /home/b/sanitizer-aarch64-linux/build/build_default/./bin/clang++ FuzzerTestObjects.FuzzerUnittest.cpp.aarch64.o FuzzerTestObjects.gtest-all.cc.aarch64.o /home/b/sanitizer-aarch64-linux/build/build_default/runtimes/runtimes-bins/compiler-rt/lib/fuzzer/tests/libRTFuzzerTest.aarch64.a -o /home/b/sanitizer-aarch64-linux/build/build_default/runtimes/runtimes-bins/compiler-rt/lib/fuzzer/tests/./Fuzzer-aarch64-Test -fuse-ld=lld -Wl,--color-diagnostics -Wthread-safety -Wthread-safety-reference -Wthread-safety-beta -resource-dir=/home/b/sanitizer-aarch64-linux/build/build_default/./lib/../lib/clang/21 --driver-mode=g++ -lpthread -nostdlib++ -fno-exceptions gcc_s /home/b/sanitizer-aarch64-linux/build/build_default/runtimes/runtimes-bins/compiler-rt/lib/fuzzer/libcxx_fuzzer_aarch64/lib/libc++.a -march=armv8-a
clang++: error: no such file or directory: 'gcc_s'
[179/186] Generating FuzzerUtils-aarch64-Test
FAILED: compiler-rt/lib/fuzzer/tests/FuzzerUtils-aarch64-Test /home/b/sanitizer-aarch64-linux/build/build_default/runtimes/runtimes-bins/compiler-rt/lib/fuzzer/tests/FuzzerUtils-aarch64-Test 
cd /home/b/sanitizer-aarch64-linux/build/build_default/runtimes/runtimes-bins/compiler-rt/lib/fuzzer/tests && /home/b/sanitizer-aarch64-linux/build/build_default/./bin/clang++ FuzzedDataProviderTestObjects.FuzzedDataProviderUnittest.cpp.aarch64.o FuzzedDataProviderTestObjects.gtest-all.cc.aarch64.o -o /home/b/sanitizer-aarch64-linux/build/build_default/runtimes/runtimes-bins/compiler-rt/lib/fuzzer/tests/./FuzzerUtils-aarch64-Test -fuse-ld=lld -Wl,--color-diagnostics -Wthread-safety -Wthread-safety-reference -Wthread-safety-beta -resource-dir=/home/b/sanitizer-aarch64-linux/build/build_default/./lib/../lib/clang/21 --driver-mode=g++ -lpthread -nostdlib++ -fno-exceptions gcc_s /home/b/sanitizer-aarch64-linux/build/build_default/runtimes/runtimes-bins/compiler-rt/lib/fuzzer/libcxx_fuzzer_aarch64/lib/libc++.a -march=armv8-a
clang++: error: no such file or directory: 'gcc_s'
[180/186] Generating MSAN_INST_GTEST.gtest-all.cc.aarch64-with-call.o
[181/186] Generating MSAN_INST_GTEST.gtest-all.cc.aarch64.o
[182/186] Generating MSAN_INST_TEST_OBJECTS.msan_test.cpp.aarch64-with-call.o
[183/186] Generating MSAN_INST_TEST_OBJECTS.msan_test.cpp.aarch64.o
ninja: build stopped: subcommand failed.
FAILED: runtimes/CMakeFiles/check-compiler-rt /home/b/sanitizer-aarch64-linux/build/build_default/runtimes/CMakeFiles/check-compiler-rt 
cd /home/b/sanitizer-aarch64-linux/build/build_default/runtimes/runtimes-bins && /usr/bin/cmake --build /home/b/sanitizer-aarch64-linux/build/build_default/runtimes/runtimes-bins/ --target check-compiler-rt --config Release
ninja: build stopped: subcommand failed.

How to reproduce locally: https://github.com/google/sanitizers/wiki/SanitizerBotReproduceBuild


@@@STEP_FAILURE@@@

@@@STEP_FAILURE@@@

@@@STEP_FAILURE@@@
@@@BUILD_STEP build compiler-rt debug@@@
+ /usr/bin/cmake -B build_default -DLLVM_APPEND_VC_REV=OFF -GNinja -DCMAKE_BUILD_TYPE=Release -DLLVM_CCACHE_BUILD=ON -DLLVM_USE_LINKER=lld -DLLVM_BINUTILS_INCDIR=/usr/include '-DLLVM_ENABLE_PROJECTS=clang;lld' '-DLLVM_ENABLE_RUNTIMES=libcxx;libcxxabi;compiler-rt;libunwind' -DLLVM_BUILD_LLVM_DYLIB=ON -DLLVM_ENABLE_ASSERTIONS=ON -DCMAKE_C_COMPILER=/home/b/sanitizer-aarch64-linux/build/llvm_build0/bin/clang -DCMAKE_CXX_COMPILER=/home/b/sanitizer-aarch64-linux/build/llvm_build0/bin/clang++ -DLLVM_ENABLE_WERROR=ON -DCOMPILER_RT_DEBUG=ON /home/b/sanitizer-aarch64-linux/build/llvm-project/llvm
-- The C compiler identification is Clang 20.1.7
-- The CXX compiler identification is Clang 20.1.7
-- The ASM compiler identification is Clang with GNU-like command-line
-- Found assembler: /home/b/sanitizer-aarch64-linux/build/llvm_build0/bin/clang
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /home/b/sanitizer-aarch64-linux/build/llvm_build0/bin/clang - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /home/b/sanitizer-aarch64-linux/build/llvm_build0/bin/clang++ - skipped
-- Detecting CXX compile features
Step 9 (test compiler-rt symbolizer) failure: test compiler-rt symbolizer (failure)
...
-- Install configuration: "Release"
[169/186] Generating MSAN_INST_TEST_OBJECTS.msan_test_main.cpp.aarch64.o
[171/186] Linking CXX static library /home/b/sanitizer-aarch64-linux/build/build_default/lib/clang/21/lib/aarch64-unknown-linux-gnu/libclang_rt.fuzzer_interceptors.a
[172/186] Linking CXX static library /home/b/sanitizer-aarch64-linux/build/build_default/lib/clang/21/lib/aarch64-unknown-linux-gnu/libclang_rt.fuzzer.a
[173/186] Linking CXX static library /home/b/sanitizer-aarch64-linux/build/build_default/lib/clang/21/lib/aarch64-unknown-linux-gnu/libclang_rt.fuzzer_no_main.a
[174/186] Generating FuzzedDataProviderTestObjects.FuzzedDataProviderUnittest.cpp.aarch64.o
[175/186] Generating FuzzerTestObjects.FuzzerUnittest.cpp.aarch64.o
[176/186] Generating FuzzerTestObjects.gtest-all.cc.aarch64.o
[177/186] Generating FuzzedDataProviderTestObjects.gtest-all.cc.aarch64.o
[178/186] Generating Fuzzer-aarch64-Test
FAILED: compiler-rt/lib/fuzzer/tests/Fuzzer-aarch64-Test /home/b/sanitizer-aarch64-linux/build/build_default/runtimes/runtimes-bins/compiler-rt/lib/fuzzer/tests/Fuzzer-aarch64-Test 
cd /home/b/sanitizer-aarch64-linux/build/build_default/runtimes/runtimes-bins/compiler-rt/lib/fuzzer/tests && /home/b/sanitizer-aarch64-linux/build/build_default/./bin/clang++ FuzzerTestObjects.FuzzerUnittest.cpp.aarch64.o FuzzerTestObjects.gtest-all.cc.aarch64.o /home/b/sanitizer-aarch64-linux/build/build_default/runtimes/runtimes-bins/compiler-rt/lib/fuzzer/tests/libRTFuzzerTest.aarch64.a -o /home/b/sanitizer-aarch64-linux/build/build_default/runtimes/runtimes-bins/compiler-rt/lib/fuzzer/tests/./Fuzzer-aarch64-Test -fuse-ld=lld -Wl,--color-diagnostics -Wthread-safety -Wthread-safety-reference -Wthread-safety-beta -resource-dir=/home/b/sanitizer-aarch64-linux/build/build_default/./lib/../lib/clang/21 --driver-mode=g++ -lpthread -nostdlib++ -fno-exceptions gcc_s /home/b/sanitizer-aarch64-linux/build/build_default/runtimes/runtimes-bins/compiler-rt/lib/fuzzer/libcxx_fuzzer_aarch64/lib/libc++.a -march=armv8-a
clang++: error: no such file or directory: 'gcc_s'
[179/186] Generating FuzzerUtils-aarch64-Test
FAILED: compiler-rt/lib/fuzzer/tests/FuzzerUtils-aarch64-Test /home/b/sanitizer-aarch64-linux/build/build_default/runtimes/runtimes-bins/compiler-rt/lib/fuzzer/tests/FuzzerUtils-aarch64-Test 
cd /home/b/sanitizer-aarch64-linux/build/build_default/runtimes/runtimes-bins/compiler-rt/lib/fuzzer/tests && /home/b/sanitizer-aarch64-linux/build/build_default/./bin/clang++ FuzzedDataProviderTestObjects.FuzzedDataProviderUnittest.cpp.aarch64.o FuzzedDataProviderTestObjects.gtest-all.cc.aarch64.o -o /home/b/sanitizer-aarch64-linux/build/build_default/runtimes/runtimes-bins/compiler-rt/lib/fuzzer/tests/./FuzzerUtils-aarch64-Test -fuse-ld=lld -Wl,--color-diagnostics -Wthread-safety -Wthread-safety-reference -Wthread-safety-beta -resource-dir=/home/b/sanitizer-aarch64-linux/build/build_default/./lib/../lib/clang/21 --driver-mode=g++ -lpthread -nostdlib++ -fno-exceptions gcc_s /home/b/sanitizer-aarch64-linux/build/build_default/runtimes/runtimes-bins/compiler-rt/lib/fuzzer/libcxx_fuzzer_aarch64/lib/libc++.a -march=armv8-a
clang++: error: no such file or directory: 'gcc_s'
[180/186] Generating MSAN_INST_GTEST.gtest-all.cc.aarch64-with-call.o
[181/186] Generating MSAN_INST_GTEST.gtest-all.cc.aarch64.o
[182/186] Generating MSAN_INST_TEST_OBJECTS.msan_test.cpp.aarch64-with-call.o
[183/186] Generating MSAN_INST_TEST_OBJECTS.msan_test.cpp.aarch64.o
ninja: build stopped: subcommand failed.
FAILED: runtimes/CMakeFiles/check-compiler-rt /home/b/sanitizer-aarch64-linux/build/build_default/runtimes/CMakeFiles/check-compiler-rt 
cd /home/b/sanitizer-aarch64-linux/build/build_default/runtimes/runtimes-bins && /usr/bin/cmake --build /home/b/sanitizer-aarch64-linux/build/build_default/runtimes/runtimes-bins/ --target check-compiler-rt --config Release
ninja: build stopped: subcommand failed.

How to reproduce locally: https://github.com/google/sanitizers/wiki/SanitizerBotReproduceBuild




Step 11 (test compiler-rt debug) failure: test compiler-rt debug (failure)
...
[0/1] Install the project...
-- Install configuration: "Release"
[169/186] Generating MSAN_INST_TEST_OBJECTS.msan_test_main.cpp.aarch64-with-call.o
[171/186] Linking CXX static library /home/b/sanitizer-aarch64-linux/build/build_default/lib/clang/21/lib/aarch64-unknown-linux-gnu/libclang_rt.fuzzer_interceptors.a
[172/186] Linking CXX static library /home/b/sanitizer-aarch64-linux/build/build_default/lib/clang/21/lib/aarch64-unknown-linux-gnu/libclang_rt.fuzzer.a
[173/186] Linking CXX static library /home/b/sanitizer-aarch64-linux/build/build_default/lib/clang/21/lib/aarch64-unknown-linux-gnu/libclang_rt.fuzzer_no_main.a
[174/186] Generating FuzzedDataProviderTestObjects.FuzzedDataProviderUnittest.cpp.aarch64.o
[175/186] Generating FuzzerTestObjects.FuzzerUnittest.cpp.aarch64.o
[176/186] Generating FuzzedDataProviderTestObjects.gtest-all.cc.aarch64.o
[177/186] Generating FuzzerUtils-aarch64-Test
FAILED: compiler-rt/lib/fuzzer/tests/FuzzerUtils-aarch64-Test /home/b/sanitizer-aarch64-linux/build/build_default/runtimes/runtimes-bins/compiler-rt/lib/fuzzer/tests/FuzzerUtils-aarch64-Test 
cd /home/b/sanitizer-aarch64-linux/build/build_default/runtimes/runtimes-bins/compiler-rt/lib/fuzzer/tests && /home/b/sanitizer-aarch64-linux/build/build_default/./bin/clang++ FuzzedDataProviderTestObjects.FuzzedDataProviderUnittest.cpp.aarch64.o FuzzedDataProviderTestObjects.gtest-all.cc.aarch64.o -o /home/b/sanitizer-aarch64-linux/build/build_default/runtimes/runtimes-bins/compiler-rt/lib/fuzzer/tests/./FuzzerUtils-aarch64-Test -fuse-ld=lld -Wl,--color-diagnostics -Wthread-safety -Wthread-safety-reference -Wthread-safety-beta -resource-dir=/home/b/sanitizer-aarch64-linux/build/build_default/./lib/../lib/clang/21 --driver-mode=g++ -lpthread -nostdlib++ -fno-exceptions gcc_s /home/b/sanitizer-aarch64-linux/build/build_default/runtimes/runtimes-bins/compiler-rt/lib/fuzzer/libcxx_fuzzer_aarch64/lib/libc++.a -march=armv8-a
clang++: error: no such file or directory: 'gcc_s'
[178/186] Generating FuzzerTestObjects.gtest-all.cc.aarch64.o
[179/186] Generating MSAN_INST_GTEST.gtest-all.cc.aarch64-with-call.o
[180/186] Generating MSAN_INST_GTEST.gtest-all.cc.aarch64.o
[181/186] Generating MSAN_INST_TEST_OBJECTS.msan_test.cpp.aarch64-with-call.o
[182/186] Generating MSAN_INST_TEST_OBJECTS.msan_test.cpp.aarch64.o
ninja: build stopped: subcommand failed.
FAILED: runtimes/CMakeFiles/check-compiler-rt /home/b/sanitizer-aarch64-linux/build/build_default/runtimes/CMakeFiles/check-compiler-rt 
cd /home/b/sanitizer-aarch64-linux/build/build_default/runtimes/runtimes-bins && /usr/bin/cmake --build /home/b/sanitizer-aarch64-linux/build/build_default/runtimes/runtimes-bins/ --target check-compiler-rt --config Release
ninja: build stopped: subcommand failed.

How to reproduce locally: https://github.com/google/sanitizers/wiki/SanitizerBotReproduceBuild




Step 14 (test compiler-rt default) failure: test compiler-rt default (failure)
...
[0/1] Install the project...
-- Install configuration: "Release"
[169/186] Generating MSAN_INST_TEST_OBJECTS.msan_test_main.cpp.aarch64-with-call.o
[171/186] Linking CXX static library /home/b/sanitizer-aarch64-linux/build/build_default/lib/clang/21/lib/aarch64-unknown-linux-gnu/libclang_rt.fuzzer_interceptors.a
[172/186] Linking CXX static library /home/b/sanitizer-aarch64-linux/build/build_default/lib/clang/21/lib/aarch64-unknown-linux-gnu/libclang_rt.fuzzer.a
[173/186] Linking CXX static library /home/b/sanitizer-aarch64-linux/build/build_default/lib/clang/21/lib/aarch64-unknown-linux-gnu/libclang_rt.fuzzer_no_main.a
[174/186] Generating FuzzedDataProviderTestObjects.FuzzedDataProviderUnittest.cpp.aarch64.o
[175/186] Generating FuzzerTestObjects.FuzzerUnittest.cpp.aarch64.o
[176/186] Generating FuzzedDataProviderTestObjects.gtest-all.cc.aarch64.o
[177/186] Generating FuzzerUtils-aarch64-Test
FAILED: compiler-rt/lib/fuzzer/tests/FuzzerUtils-aarch64-Test /home/b/sanitizer-aarch64-linux/build/build_default/runtimes/runtimes-bins/compiler-rt/lib/fuzzer/tests/FuzzerUtils-aarch64-Test 
cd /home/b/sanitizer-aarch64-linux/build/build_default/runtimes/runtimes-bins/compiler-rt/lib/fuzzer/tests && /home/b/sanitizer-aarch64-linux/build/build_default/./bin/clang++ FuzzedDataProviderTestObjects.FuzzedDataProviderUnittest.cpp.aarch64.o FuzzedDataProviderTestObjects.gtest-all.cc.aarch64.o -o /home/b/sanitizer-aarch64-linux/build/build_default/runtimes/runtimes-bins/compiler-rt/lib/fuzzer/tests/./FuzzerUtils-aarch64-Test -fuse-ld=lld -Wl,--color-diagnostics -Wthread-safety -Wthread-safety-reference -Wthread-safety-beta -resource-dir=/home/b/sanitizer-aarch64-linux/build/build_default/./lib/../lib/clang/21 --driver-mode=g++ -lpthread -nostdlib++ -fno-exceptions gcc_s /home/b/sanitizer-aarch64-linux/build/build_default/runtimes/runtimes-bins/compiler-rt/lib/fuzzer/libcxx_fuzzer_aarch64/lib/libc++.a -march=armv8-a
clang++: error: no such file or directory: 'gcc_s'
[178/186] Generating FuzzerTestObjects.gtest-all.cc.aarch64.o
[179/186] Generating MSAN_INST_GTEST.gtest-all.cc.aarch64-with-call.o
[180/186] Generating MSAN_INST_GTEST.gtest-all.cc.aarch64.o
[181/186] Generating MSAN_INST_TEST_OBJECTS.msan_test.cpp.aarch64-with-call.o
[182/186] Generating MSAN_INST_TEST_OBJECTS.msan_test.cpp.aarch64.o
ninja: build stopped: subcommand failed.
FAILED: runtimes/CMakeFiles/check-compiler-rt /home/b/sanitizer-aarch64-linux/build/build_default/runtimes/CMakeFiles/check-compiler-rt 
cd /home/b/sanitizer-aarch64-linux/build/build_default/runtimes/runtimes-bins && /usr/bin/cmake --build /home/b/sanitizer-aarch64-linux/build/build_default/runtimes/runtimes-bins/ --target check-compiler-rt --config Release
ninja: build stopped: subcommand failed.

How to reproduce locally: https://github.com/google/sanitizers/wiki/SanitizerBotReproduceBuild



Step 16 (test standalone compiler-rt) failure: test standalone compiler-rt (failure)
...
[144/161] Generating libmsan_loadable.aarch64-with-call.so
[145/161] Installing libcxx_fuzzer_aarch64...
[0/1] Install the project...
-- Install configuration: "Release"
[147/161] Generating MSAN_INST_TEST_OBJECTS.msan_test_main.cpp.aarch64-with-call.o
[148/161] Generating MSAN_INST_TEST_OBJECTS.msan_test_main.cpp.aarch64.o
[149/161] Generating FuzzedDataProviderTestObjects.FuzzedDataProviderUnittest.cpp.aarch64.o
[150/161] Generating FuzzerTestObjects.FuzzerUnittest.cpp.aarch64.o
[151/161] Generating FuzzedDataProviderTestObjects.gtest-all.cc.aarch64.o
[152/161] Generating FuzzerUtils-aarch64-Test
FAILED: lib/fuzzer/tests/FuzzerUtils-aarch64-Test /home/b/sanitizer-aarch64-linux/build/compiler_rt_build/lib/fuzzer/tests/FuzzerUtils-aarch64-Test 
cd /home/b/sanitizer-aarch64-linux/build/compiler_rt_build/lib/fuzzer/tests && /home/b/sanitizer-aarch64-linux/build/build_default/bin/clang++ FuzzedDataProviderTestObjects.FuzzedDataProviderUnittest.cpp.aarch64.o FuzzedDataProviderTestObjects.gtest-all.cc.aarch64.o -o /home/b/sanitizer-aarch64-linux/build/compiler_rt_build/lib/fuzzer/tests/./FuzzerUtils-aarch64-Test -Wthread-safety -Wthread-safety-reference -Wthread-safety-beta -resource-dir=/home/b/sanitizer-aarch64-linux/build/compiler_rt_build --driver-mode=g++ -lpthread -nostdlib++ -fno-exceptions gcc_s /home/b/sanitizer-aarch64-linux/build/compiler_rt_build/lib/fuzzer/libcxx_fuzzer_aarch64/lib/libc++.a -march=armv8-a
clang++: error: no such file or directory: 'gcc_s'
[153/161] Generating FuzzerTestObjects.gtest-all.cc.aarch64.o
[154/161] Generating MSAN_INST_GTEST.gtest-all.cc.aarch64-with-call.o
[155/161] Generating MSAN_INST_GTEST.gtest-all.cc.aarch64.o
[156/161] Generating MSAN_INST_TEST_OBJECTS.msan_test.cpp.aarch64-with-call.o
[157/161] Generating MSAN_INST_TEST_OBJECTS.msan_test.cpp.aarch64.o
ninja: build stopped: subcommand failed.

How to reproduce locally: https://github.com/google/sanitizers/wiki/SanitizerBotReproduceBuild




@luporl
Copy link
Contributor

luporl commented Jun 18, 2025

It seems FUZZER_UNWINDER_LIBS should have been passed to LINK_LIBS.
Instead it was added to LIBFUZZER_UNITTEST_LINK_FLAGS, that is later passed to LINK_FLAGS.

omjavaid added a commit that referenced this pull request Jun 18, 2025
Fix for #144495 by 6f4add3 broke sanitizer-aarch64-linux buildbot.

compiler-rt/lib/fuzzer/tests build failed because the linker was
looking gcc_s without '-l' appended.

The CMake script was adding the library name without the required
'-l' prefix. This patch adds the -l prefix changing gcc_s to -lgcc_s
and gcc to -lgcc.

https://lab.llvm.org/buildbot/#/builders/51/builds/18170
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants