diff options
Diffstat (limited to 'lib/ubsan/CMakeLists.txt')
-rw-r--r-- | lib/ubsan/CMakeLists.txt | 19 |
1 files changed, 12 insertions, 7 deletions
diff --git a/lib/ubsan/CMakeLists.txt b/lib/ubsan/CMakeLists.txt index c8470bc6d353..675c47f6a65e 100644 --- a/lib/ubsan/CMakeLists.txt +++ b/lib/ubsan/CMakeLists.txt @@ -34,17 +34,22 @@ else() # Main UBSan runtime. add_compiler_rt_static_runtime(clang_rt.ubsan-${arch} ${arch} SOURCES ${UBSAN_SOURCES} - CFLAGS ${UBSAN_CFLAGS} - SYMS ubsan.syms) + CFLAGS ${UBSAN_CFLAGS}) # C++-specific parts of UBSan runtime. Requires a C++ ABI library. add_compiler_rt_static_runtime(clang_rt.ubsan_cxx-${arch} ${arch} SOURCES ${UBSAN_CXX_SOURCES} - CFLAGS ${UBSAN_CFLAGS} - SYMS ubsan.syms) + CFLAGS ${UBSAN_CFLAGS}) list(APPEND UBSAN_RUNTIME_LIBRARIES - clang_rt.san-${arch} - clang_rt.ubsan-${arch} - clang_rt.ubsan_cxx-${arch}) + clang_rt.san-${arch} + clang_rt.ubsan-${arch} + clang_rt.ubsan_cxx-${arch}) + if (UNIX AND NOT ${arch} STREQUAL "i386") + add_sanitizer_rt_symbols(clang_rt.ubsan-${arch} ubsan.syms.extra) + add_sanitizer_rt_symbols(clang_rt.ubsan_cxx-${arch} ubsan.syms.extra) + list(APPEND UBSAN_RUNTIME_LIBRARIES + clang_rt.ubsan-${arch}-symbols + clang_rt.ubsan_cxx-${arch}-symbols) + endif() endforeach() endif() |