diff --git a/lib/libclang_rt/Makefile b/lib/libclang_rt/Makefile --- a/lib/libclang_rt/Makefile +++ b/lib/libclang_rt/Makefile @@ -16,6 +16,8 @@ SD_INCLUDE+= include +SD_LSAN+= lsan + SD_MSAN+= msan SD_MSAN+= msan_cxx @@ -42,6 +44,7 @@ SUBDIR+= ${SD_ASAN} SUBDIR+= ${SD_CFI} SUBDIR+= ${SD_FUZZER} +SUBDIR+= ${SD_LSAN} SUBDIR+= ${SD_MSAN} SUBDIR+= ${SD_SAFESTACK} SUBDIR+= ${SD_STATS} @@ -53,6 +56,7 @@ SUBDIR+= ${SD_CFI} SUBDIR+= ${SD_DD} SUBDIR+= ${SD_FUZZER} +SUBDIR+= ${SD_LSAN} SUBDIR+= ${SD_MSAN} SUBDIR+= ${SD_SAFESTACK} SUBDIR+= ${SD_STATS} @@ -64,6 +68,7 @@ .elif ${MACHINE_CPUARCH} == "i386" SUBDIR+= ${SD_ASAN} SUBDIR+= ${SD_CFI} +SUBDIR+= ${SD_LSAN} SUBDIR+= ${SD_SAFESTACK} SUBDIR+= ${SD_STATS} SUBDIR+= ${SD_UBSAN} @@ -71,12 +76,14 @@ # nothing for 32-bit powerpc .elif ${MACHINE_ARCH} == "powerpc64" SUBDIR+= ${SD_ASAN} +SUBDIR+= ${SD_LSAN} SUBDIR+= ${SD_MSAN} SUBDIR+= ${SD_STATS} SUBDIR+= ${SD_TSAN} SUBDIR+= ${SD_UBSAN} .elif ${MACHINE_ARCH} == "powerpc64le" SUBDIR+= ${SD_ASAN} +SUBDIR+= ${SD_LSAN} SUBDIR+= ${SD_MSAN} SUBDIR+= ${SD_STATS} SUBDIR+= ${SD_TSAN} @@ -84,6 +91,7 @@ SUBDIR+= ${SD_XRAY} .elif ${MACHINE_CPUARCH} == "riscv" SUBDIR+= ${SD_ASAN} +SUBDIR+= ${SD_LSAN} SUBDIR+= ${SD_STATS} SUBDIR+= ${SD_UBSAN} .endif diff --git a/lib/libclang_rt/asan/Makefile b/lib/libclang_rt/asan/Makefile --- a/lib/libclang_rt/asan/Makefile +++ b/lib/libclang_rt/asan/Makefile @@ -27,6 +27,8 @@ SRCS+= asan/asan_suppressions.cpp SRCS+= asan/asan_thread.cpp SRCS+= interception/interception_linux.cpp +SRCS+= lsan/lsan_common.cpp +SRCS+= lsan/lsan_common_linux.cpp SRCS+= sanitizer_common/sancov_flags.cpp SRCS+= sanitizer_common/sanitizer_allocator.cpp SRCS+= sanitizer_common/sanitizer_allocator_checks.cpp @@ -52,11 +54,13 @@ SRCS+= sanitizer_common/sanitizer_printf.cpp SRCS+= sanitizer_common/sanitizer_procmaps_bsd.cpp SRCS+= sanitizer_common/sanitizer_procmaps_common.cpp +SRCS+= sanitizer_common/sanitizer_range.cpp SRCS+= sanitizer_common/sanitizer_stack_store.cpp SRCS+= sanitizer_common/sanitizer_stackdepot.cpp SRCS+= sanitizer_common/sanitizer_stacktrace.cpp SRCS+= sanitizer_common/sanitizer_stacktrace_libcdep.cpp SRCS+= sanitizer_common/sanitizer_stacktrace_printer.cpp +SRCS+= sanitizer_common/sanitizer_stoptheworld_freebsd_libcdep.cpp SRCS+= sanitizer_common/sanitizer_suppressions.cpp SRCS+= sanitizer_common/sanitizer_symbolizer.cpp SRCS+= sanitizer_common/sanitizer_symbolizer_libbacktrace.cpp diff --git a/lib/libclang_rt/asan_dynamic/Makefile b/lib/libclang_rt/asan_dynamic/Makefile --- a/lib/libclang_rt/asan_dynamic/Makefile +++ b/lib/libclang_rt/asan_dynamic/Makefile @@ -30,6 +30,8 @@ SRCS+= asan/asan_suppressions.cpp SRCS+= asan/asan_thread.cpp SRCS+= interception/interception_linux.cpp +SRCS+= lsan/lsan_common.cpp +SRCS+= lsan/lsan_common_linux.cpp SRCS+= sanitizer_common/sancov_flags.cpp SRCS+= sanitizer_common/sanitizer_allocator.cpp SRCS+= sanitizer_common/sanitizer_allocator_checks.cpp @@ -55,11 +57,13 @@ SRCS+= sanitizer_common/sanitizer_printf.cpp SRCS+= sanitizer_common/sanitizer_procmaps_bsd.cpp SRCS+= sanitizer_common/sanitizer_procmaps_common.cpp +SRCS+= sanitizer_common/sanitizer_range.cpp SRCS+= sanitizer_common/sanitizer_stack_store.cpp SRCS+= sanitizer_common/sanitizer_stackdepot.cpp SRCS+= sanitizer_common/sanitizer_stacktrace.cpp SRCS+= sanitizer_common/sanitizer_stacktrace_libcdep.cpp SRCS+= sanitizer_common/sanitizer_stacktrace_printer.cpp +SRCS+= sanitizer_common/sanitizer_stoptheworld_freebsd_libcdep.cpp SRCS+= sanitizer_common/sanitizer_suppressions.cpp SRCS+= sanitizer_common/sanitizer_symbolizer.cpp SRCS+= sanitizer_common/sanitizer_symbolizer_libbacktrace.cpp diff --git a/lib/libclang_rt/asan/Makefile b/lib/libclang_rt/lsan/Makefile copy from lib/libclang_rt/asan/Makefile copy to lib/libclang_rt/lsan/Makefile --- a/lib/libclang_rt/asan/Makefile +++ b/lib/libclang_rt/lsan/Makefile @@ -1,32 +1,18 @@ .include -LIB= clang_rt.asan-${CRTARCH} +LIB= clang_rt.lsan-${CRTARCH} -SRCS+= asan/asan_activation.cpp -SRCS+= asan/asan_allocator.cpp -SRCS+= asan/asan_debugging.cpp -SRCS+= asan/asan_descriptions.cpp -SRCS+= asan/asan_errors.cpp -SRCS+= asan/asan_fake_stack.cpp -SRCS+= asan/asan_flags.cpp -SRCS+= asan/asan_globals.cpp -SRCS+= asan/asan_interceptors.cpp -SRCS+= asan/asan_interceptors_memintrinsics.cpp -SRCS+= asan/asan_linux.cpp -SRCS+= asan/asan_malloc_linux.cpp -SRCS+= asan/asan_memory_profile.cpp -SRCS+= asan/asan_poisoning.cpp -SRCS+= asan/asan_posix.cpp -SRCS+= asan/asan_preinit.cpp -SRCS+= asan/asan_report.cpp -SRCS+= asan/asan_rtl.cpp -SRCS+= asan/asan_shadow_setup.cpp -SRCS+= asan/asan_stack.cpp -SRCS+= asan/asan_stats.cpp -SRCS+= asan/asan_suppressions.cpp -SRCS+= asan/asan_thread.cpp SRCS+= interception/interception_linux.cpp +SRCS+= lsan/lsan.cpp +SRCS+= lsan/lsan_allocator.cpp +SRCS+= lsan/lsan_common.cpp +SRCS+= lsan/lsan_common_linux.cpp +SRCS+= lsan/lsan_interceptors.cpp +SRCS+= lsan/lsan_linux.cpp +SRCS+= lsan/lsan_posix.cpp +SRCS+= lsan/lsan_preinit.cpp +SRCS+= lsan/lsan_thread.cpp SRCS+= sanitizer_common/sancov_flags.cpp SRCS+= sanitizer_common/sanitizer_allocator.cpp SRCS+= sanitizer_common/sanitizer_allocator_checks.cpp @@ -52,11 +38,13 @@ SRCS+= sanitizer_common/sanitizer_printf.cpp SRCS+= sanitizer_common/sanitizer_procmaps_bsd.cpp SRCS+= sanitizer_common/sanitizer_procmaps_common.cpp +SRCS+= sanitizer_common/sanitizer_range.cpp SRCS+= sanitizer_common/sanitizer_stack_store.cpp SRCS+= sanitizer_common/sanitizer_stackdepot.cpp SRCS+= sanitizer_common/sanitizer_stacktrace.cpp SRCS+= sanitizer_common/sanitizer_stacktrace_libcdep.cpp SRCS+= sanitizer_common/sanitizer_stacktrace_printer.cpp +SRCS+= sanitizer_common/sanitizer_stoptheworld_freebsd_libcdep.cpp SRCS+= sanitizer_common/sanitizer_suppressions.cpp SRCS+= sanitizer_common/sanitizer_symbolizer.cpp SRCS+= sanitizer_common/sanitizer_symbolizer_libbacktrace.cpp @@ -69,14 +57,5 @@ SRCS+= sanitizer_common/sanitizer_tls_get_addr.cpp SRCS+= sanitizer_common/sanitizer_type_traits.cpp SRCS+= sanitizer_common/sanitizer_unwind_linux_libcdep.cpp -SRCS+= ubsan/ubsan_diag.cpp -SRCS+= ubsan/ubsan_flags.cpp -SRCS+= ubsan/ubsan_handlers.cpp -SRCS+= ubsan/ubsan_init.cpp -SRCS+= ubsan/ubsan_monitor.cpp -SRCS+= ubsan/ubsan_value.cpp - -FILESDIR= ${SANITIZER_SHAREDIR} -FILES+= asan/asan_ignorelist.txt .include