[compiler-rt] [llvm] [compiler-rt][sanitizer] add Haiku support (PR #134772)
Brad Smith via llvm-commits
llvm-commits at lists.llvm.org
Thu Apr 10 21:09:37 PDT 2025
================
@@ -569,6 +569,10 @@ append_list_if(COMPILER_RT_HAS_LIBC c SANITIZER_COMMON_LINK_LIBS)
if("${CMAKE_SYSTEM_NAME}" STREQUAL "Fuchsia")
list(APPEND SANITIZER_COMMON_LINK_LIBS zircon)
endif()
+if("${CMAKE_SYSTEM_NAME}" STREQUAL "Haiku")
+ list(APPEND SANITIZER_COMMON_LINK_LIBS root)
----------------
brad0 wrote:
Without libroot it fails to build...
```
ld.lld: error: undefined symbol: environ
>>> referenced by sanitizer_linux.cpp:692 (/boot/home/llvm-brad/compiler-rt/lib/sanitizer_common/sanitizer_linux.cpp:692)
>>> compiler-rt/lib/sanitizer_common/CMakeFiles/RTSanitizerCommon.x86_64.dir/sanitizer_linux.cpp.o:(__sanitizer::GetEnv(char const*))
>>> referenced by sanitizer_linux.cpp:765 (/boot/home/llvm-brad/compiler-rt/lib/sanitizer_common/sanitizer_linux.cpp:765)
>>> compiler-rt/lib/sanitizer_common/CMakeFiles/RTSanitizerCommon.x86_64.dir/sanitizer_linux.cpp.o:(__sanitizer::GetEnviron())
ld.lld: error: undefined symbol: __libc_argv
>>> referenced by sanitizer_linux.cpp:764 (/boot/home/llvm-brad/compiler-rt/lib/sanitizer_common/sanitizer_linux.cpp:764)
>>> compiler-rt/lib/sanitizer_common/CMakeFiles/RTSanitizerCommon.x86_64.dir/sanitizer_linux.cpp.o:(__sanitizer::GetArgv())
ld.lld: error: undefined symbol: sched_yield
>>> referenced by sanitizer_linux.cpp:826 (/boot/home/llvm-brad/compiler-rt/lib/sanitizer_common/sanitizer_linux.cpp:826)
>>> compiler-rt/lib/sanitizer_common/CMakeFiles/RTSanitizerCommon.x86_64.dir/sanitizer_linux.cpp.o:(__sanitizer::FutexWait(__sanitizer::atomic_uint32_t*, unsigned int))
ld.lld: error: undefined symbol: sysconf
>>> referenced by sanitizer_linux.cpp:1279 (/boot/home/llvm-brad/compiler-rt/lib/sanitizer_common/sanitizer_linux.cpp:1279)
>>> compiler-rt/lib/sanitizer_common/CMakeFiles/RTSanitizerCommon.x86_64.dir/sanitizer_linux.cpp.o:(__sanitizer::GetPageSize())
>>> referenced by sanitizer_posix_libcdep.cpp:549 (/boot/home/llvm-brad/compiler-rt/lib/sanitizer_common/sanitizer_posix_libcdep.cpp:549)
>>> compiler-rt/lib/sanitizer_common/CMakeFiles/RTSanitizerCommonLibc.x86_64.dir/sanitizer_posix_libcdep.cpp.o:(__sanitizer::StartSubprocess(char const*, char const* const*, char const* const*, int, int, int))
ld.lld: error: undefined symbol: _get_next_image_info
>>> referenced by sanitizer_linux.cpp:1289 (/boot/home/llvm-brad/compiler-rt/lib/sanitizer_common/sanitizer_linux.cpp:1289)
>>> compiler-rt/lib/sanitizer_common/CMakeFiles/RTSanitizerCommon.x86_64.dir/sanitizer_linux.cpp.o:(__sanitizer::ReadBinaryName(char*, unsigned long))
>>> referenced by sanitizer_linux.cpp:1289 (/boot/home/llvm-brad/compiler-rt/lib/sanitizer_common/sanitizer_linux.cpp:1289)
>>> compiler-rt/lib/sanitizer_common/CMakeFiles/RTSanitizerCommon.x86_64.dir/sanitizer_linux.cpp.o:(__sanitizer::ReadLongProcessName(char*, unsigned long))
```
https://github.com/llvm/llvm-project/pull/134772
More information about the llvm-commits
mailing list