Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
build: remove explicit linker call to libm on macOS
/usr/lib/libm.tbd is available via libSystem.*.dylib and reexports sanitizer symbols. When building for asan this becomes an issue as the linker will resolve the symbols from the system library rather from libclang_rt.* For V8 that rely on specific version of these symbols that get bundled as part of clang, for ex: https://source.chromium.org/chromium/chromium/src/+/main:v8/src/heap/cppgc/platform.cc;l=93-97 accepting nullptr for shadow_offset in `asan_get_shadow_mapping`, linking to system version that doesn't support this will lead to a crash. Clang driver eventually links with `-lSystem` https://github.com/llvm/llvm-project/blob/e82f93890daefeb38fe2a22ee3db87a89948ec57/clang/lib/Driver/ToolChains/Darwin.cpp#L1628-L1631, this is done after linking the sanitizer libraries which ensures right order of resolution for the symbols. PR-URL: #56901 Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com> Reviewed-By: Chengzhong Wu <legendecas@gmail.com> Reviewed-By: Luigi Pinca <luigipinca@gmail.com> Reviewed-By: Shelley Vohr <shelley.vohr@gmail.com>
- Loading branch information