forked from OSchip/llvm-project
Generate ubsan shared libraries.
Summary: Those libraries are required by aosp (https://android.googlesource.com/platform/prebuilts/clang/host/linux-x86/+/master/Android.mk). Currenly the shared libraries are generated by aosp Makefile system. We are looking forward to using cmake to generate them. Reviewers: llvm-commits, vsk Reviewed By: vsk Subscribers: filcab, vsk, srhines, kubamracek, mgorny, krytarowski Differential Revision: https://reviews.llvm.org/D33216 llvm-svn: 303276
This commit is contained in:
parent
6f6f7d19f0
commit
3f55f7e02d
|
@ -34,6 +34,14 @@ set(UBSAN_CXXFLAGS ${SANITIZER_COMMON_CFLAGS})
|
|||
append_rtti_flag(ON UBSAN_CXXFLAGS)
|
||||
append_list_if(SANITIZER_CAN_USE_CXXABI -DUBSAN_CAN_USE_CXXABI UBSAN_CXXFLAGS)
|
||||
|
||||
append_list_if(COMPILER_RT_HAS_LIBDL dl UBSAN_DYNAMIC_LIBS)
|
||||
append_list_if(COMPILER_RT_HAS_LIBLOG log UBSAN_DYNAMIC_LIBS)
|
||||
append_list_if(COMPILER_RT_HAS_LIBC c UBSAN_DYNAMIC_LIBS)
|
||||
append_list_if(COMPILER_RT_HAS_LIBRT rt UBSAN_DYNAMIC_LIBS)
|
||||
append_list_if(COMPILER_RT_HAS_LIBM m UBSAN_DYNAMIC_LIBS)
|
||||
append_list_if(COMPILER_RT_HAS_LIBPTHREAD pthread UBSAN_DYNAMIC_LIBS)
|
||||
append_list_if(COMPILER_RT_HAS_LIBSTDCXX stdc++ UBSAN_DYNAMIC_LIBS)
|
||||
|
||||
add_compiler_rt_component(ubsan)
|
||||
|
||||
if(APPLE)
|
||||
|
@ -144,6 +152,27 @@ else()
|
|||
CFLAGS ${UBSAN_CXXFLAGS}
|
||||
PARENT_TARGET ubsan)
|
||||
|
||||
add_compiler_rt_runtime(clang_rt.ubsan_standalone
|
||||
SHARED
|
||||
ARCHS ${UBSAN_SUPPORTED_ARCH}
|
||||
OBJECT_LIBS RTSanitizerCommon
|
||||
RTSanitizerCommonLibc
|
||||
RTUbsan
|
||||
CFLAGS ${UBSAN_CFLAGS}
|
||||
LINK_LIBS ${UBSAN_DYNAMIC_LIBS}
|
||||
PARENT_TARGET ubsan)
|
||||
|
||||
add_compiler_rt_runtime(clang_rt.ubsan_standalone_cxx
|
||||
SHARED
|
||||
ARCHS ${UBSAN_SUPPORTED_ARCH}
|
||||
OBJECT_LIBS RTSanitizerCommon
|
||||
RTSanitizerCommonLibc
|
||||
RTUbsan
|
||||
RTUbsan_cxx
|
||||
CFLAGS ${UBSAN_CXXFLAGS}
|
||||
LINK_LIBS ${UBSAN_DYNAMIC_LIBS}
|
||||
PARENT_TARGET ubsan)
|
||||
|
||||
if (UNIX)
|
||||
set(ARCHS_FOR_SYMBOLS ${UBSAN_SUPPORTED_ARCH})
|
||||
list(REMOVE_ITEM ARCHS_FOR_SYMBOLS i386 i686)
|
||||
|
|
Loading…
Reference in New Issue