diff options
Diffstat (limited to 'lib/libclang_rt')
42 files changed, 1269 insertions, 0 deletions
diff --git a/lib/libclang_rt/Makefile b/lib/libclang_rt/Makefile new file mode 100644 index 000000000000..79ccd288a845 --- /dev/null +++ b/lib/libclang_rt/Makefile @@ -0,0 +1,98 @@ + +SD_ASAN+= asan +SD_ASAN+= asan-preinit +SD_ASAN+= asan_cxx +SD_ASAN+= asan_dynamic +SD_ASAN+= asan_static + +SD_CFI+= cfi +SD_CFI+= cfi_diag + +SD_DD+= dd + +SD_FUZZER+= fuzzer +SD_FUZZER+= fuzzer_interceptors +SD_FUZZER+= fuzzer_no_main + +SD_INCLUDE+= include + +SD_MSAN+= msan +SD_MSAN+= msan_cxx + +SD_PROFILE+= profile + +SD_SAFESTACK+= safestack + +SD_STATS+= stats +SD_STATS+= stats_client + +SD_TSAN+= tsan +SD_TSAN+= tsan_cxx + +SD_UBSAN+= ubsan_minimal +SD_UBSAN+= ubsan_standalone +SD_UBSAN+= ubsan_standalone_cxx + +SD_XRAY+= xray +SD_XRAY+= xray-basic +SD_XRAY+= xray-fdr +SD_XRAY+= xray-profiling + +.if ${MACHINE_CPUARCH} == "aarch64" +SUBDIR+= ${SD_ASAN} +SUBDIR+= ${SD_CFI} +SUBDIR+= ${SD_FUZZER} +SUBDIR+= ${SD_MSAN} +SUBDIR+= ${SD_SAFESTACK} +SUBDIR+= ${SD_STATS} +SUBDIR+= ${SD_TSAN} +SUBDIR+= ${SD_UBSAN} +SUBDIR+= ${SD_XRAY} +.elif ${MACHINE_CPUARCH} == "amd64" +SUBDIR+= ${SD_ASAN} +SUBDIR+= ${SD_CFI} +SUBDIR+= ${SD_DD} +SUBDIR+= ${SD_FUZZER} +SUBDIR+= ${SD_MSAN} +SUBDIR+= ${SD_SAFESTACK} +SUBDIR+= ${SD_STATS} +SUBDIR+= ${SD_TSAN} +SUBDIR+= ${SD_UBSAN} +SUBDIR+= ${SD_XRAY} +.elif ${MACHINE_CPUARCH} == "arm" +# nothing for 32-bit arm yet +.elif ${MACHINE_CPUARCH} == "i386" +SUBDIR+= ${SD_ASAN} +SUBDIR+= ${SD_CFI} +SUBDIR+= ${SD_SAFESTACK} +SUBDIR+= ${SD_STATS} +SUBDIR+= ${SD_UBSAN} +.elif ${MACHINE_CPUARCH} == "powerpc" +. if ${MACHINE_ARCH} == "powerpc64" +SUBDIR+= ${SD_ASAN} +SUBDIR+= ${SD_MSAN} +SUBDIR+= ${SD_STATS} +SUBDIR+= ${SD_TSAN} +SUBDIR+= ${SD_UBSAN} +. elif ${MACHINE_ARCH} == "powerpc64le" +SUBDIR+= ${SD_ASAN} +SUBDIR+= ${SD_MSAN} +SUBDIR+= ${SD_STATS} +SUBDIR+= ${SD_TSAN} +SUBDIR+= ${SD_UBSAN} +SUBDIR+= ${SD_XRAY} +. else +# nothing for other powerpc yet +. endif +.elif ${MACHINE_CPUARCH} == "riscv" +SUBDIR+= ${SD_ASAN} +SUBDIR+= ${SD_STATS} +SUBDIR+= ${SD_UBSAN} +.endif + +SUBDIR+= ${SD_INCLUDE} +SUBDIR+= ${SD_PROFILE} + +SUBDIR_PARALLEL= + +.include <bsd.subdir.mk> diff --git a/lib/libclang_rt/Makefile.inc b/lib/libclang_rt/Makefile.inc new file mode 100644 index 000000000000..4be3c667462f --- /dev/null +++ b/lib/libclang_rt/Makefile.inc @@ -0,0 +1,38 @@ + +.include <bsd.compiler.mk> + +PACKAGE= clang +CRTSRC= ${SRCTOP}/contrib/llvm-project/compiler-rt +.include "compiler-rt-vars.mk" + +.PATH: ${CRTSRC}/lib + +LIBDIR= ${SANITIZER_LIBDIR} +SHLIBDIR= ${LIBDIR} + +NO_PIC= +MK_PROFILE= no +MK_ASAN:= no +MK_SSP= no +MK_UBSAN:= no + +WARNS?= 0 + +CFLAGS+= -DNDEBUG +CFLAGS+= -DHAVE_RPC_XDR_H=0 +CFLAGS+= -DSANITIZER_SUPPORTS_WEAK_HOOKS=0 +CFLAGS+= -DUBSAN_CAN_USE_CXXABI +CFLAGS+= ${PICFLAG} +CFLAGS+= -fno-builtin +CFLAGS+= -fno-exceptions +CXXFLAGS+= -fno-rtti +.if ${COMPILER_TYPE} == clang +CFLAGS+= -fno-sanitize=safe-stack +.endif +CFLAGS+= -fno-stack-protector +CFLAGS+= -funwind-tables +CXXFLAGS+= -fvisibility-inlines-hidden +CXXFLAGS+= -fvisibility=hidden +CFLAGS+= -I${CRTSRC}/include +CFLAGS+= -I${CRTSRC}/lib +CXXSTD= c++17 diff --git a/lib/libclang_rt/asan-preinit/Makefile b/lib/libclang_rt/asan-preinit/Makefile new file mode 100644 index 000000000000..ce99dfa2d50c --- /dev/null +++ b/lib/libclang_rt/asan-preinit/Makefile @@ -0,0 +1,8 @@ + +.include <bsd.init.mk> + +LIB= clang_rt.asan-preinit-${CRTARCH} + +SRCS+= asan/asan_preinit.cpp + +.include <bsd.lib.mk> diff --git a/lib/libclang_rt/asan-preinit/Makefile.depend b/lib/libclang_rt/asan-preinit/Makefile.depend new file mode 100644 index 000000000000..11aba52f82cf --- /dev/null +++ b/lib/libclang_rt/asan-preinit/Makefile.depend @@ -0,0 +1,10 @@ +# Autogenerated - do NOT edit! + +DIRDEPS = \ + + +.include <dirdeps.mk> + +.if ${DEP_RELDIR} == ${_DEP_RELDIR} +# local dependencies - needed for -jN in clean tree +.endif diff --git a/lib/libclang_rt/asan/Makefile b/lib/libclang_rt/asan/Makefile new file mode 100644 index 000000000000..630b2d4ea065 --- /dev/null +++ b/lib/libclang_rt/asan/Makefile @@ -0,0 +1,85 @@ + +.include <bsd.init.mk> + +LIB= clang_rt.asan-${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_common.cpp +SRCS+= sanitizer_common/sancov_flags.cpp +SRCS+= sanitizer_common/sanitizer_allocator.cpp +SRCS+= sanitizer_common/sanitizer_allocator_checks.cpp +SRCS+= sanitizer_common/sanitizer_allocator_report.cpp +SRCS+= sanitizer_common/sanitizer_chained_origin_depot.cpp +SRCS+= sanitizer_common/sanitizer_common.cpp +SRCS+= sanitizer_common/sanitizer_common_libcdep.cpp +SRCS+= sanitizer_common/sanitizer_coverage_libcdep_new.cpp +SRCS+= sanitizer_common/sanitizer_deadlock_detector1.cpp +SRCS+= sanitizer_common/sanitizer_dl.cpp +SRCS+= sanitizer_common/sanitizer_errno.cpp +SRCS+= sanitizer_common/sanitizer_file.cpp +SRCS+= sanitizer_common/sanitizer_flag_parser.cpp +SRCS+= sanitizer_common/sanitizer_flags.cpp +SRCS+= sanitizer_common/sanitizer_libc.cpp +SRCS+= sanitizer_common/sanitizer_libignore.cpp +SRCS+= sanitizer_common/sanitizer_linux.cpp +SRCS+= sanitizer_common/sanitizer_linux_libcdep.cpp +SRCS+= sanitizer_common/sanitizer_mutex.cpp +SRCS+= sanitizer_common/sanitizer_platform_limits_freebsd.cpp +SRCS+= sanitizer_common/sanitizer_posix.cpp +SRCS+= sanitizer_common/sanitizer_posix_libcdep.cpp +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_suppressions.cpp +SRCS+= sanitizer_common/sanitizer_symbolizer.cpp +SRCS+= sanitizer_common/sanitizer_symbolizer_libbacktrace.cpp +SRCS+= sanitizer_common/sanitizer_symbolizer_libcdep.cpp +SRCS+= sanitizer_common/sanitizer_symbolizer_markup.cpp +SRCS+= sanitizer_common/sanitizer_symbolizer_posix_libcdep.cpp +SRCS+= sanitizer_common/sanitizer_symbolizer_report.cpp +SRCS+= sanitizer_common/sanitizer_termination.cpp +SRCS+= sanitizer_common/sanitizer_thread_arg_retval.cpp +SRCS+= sanitizer_common/sanitizer_thread_registry.cpp +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 <bsd.lib.mk> diff --git a/lib/libclang_rt/asan/Makefile.depend b/lib/libclang_rt/asan/Makefile.depend new file mode 100644 index 000000000000..2427fe0ab42b --- /dev/null +++ b/lib/libclang_rt/asan/Makefile.depend @@ -0,0 +1,16 @@ +# Autogenerated - do NOT edit! + +DIRDEPS = \ + include \ + include/arpa \ + include/xlocale \ + lib/libc++ \ + lib/libmd \ + lib/ncurses/tinfo \ + + +.include <dirdeps.mk> + +.if ${DEP_RELDIR} == ${_DEP_RELDIR} +# local dependencies - needed for -jN in clean tree +.endif diff --git a/lib/libclang_rt/asan/warn.txt b/lib/libclang_rt/asan/warn.txt new file mode 100644 index 000000000000..3d3fe896efa9 --- /dev/null +++ b/lib/libclang_rt/asan/warn.txt @@ -0,0 +1,60 @@ +--- sanitizer_common/sanitizer_symbolizer_markup.o --- +/share/dim/src/freebsd/llvm-18-update/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_symbolizer_markup.cpp:31:32: warning: format specifies type 'void *' but the argument has type 'uptr' (aka 'unsigned long') [-Wformat] + 31 | buffer->AppendF(kFormatData, DI->start); + | ~~~~~~~~~~~ ^~~~~~~~~ +/share/dim/src/freebsd/llvm-18-update/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_symbolizer_markup_constants.h:33:46: note: format string is defined here + 33 | constexpr const char *kFormatData = "{{{data:%p}}}"; + | ^~ + | %lu +/share/dim/src/freebsd/llvm-18-update/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_symbolizer_markup.cpp:46:43: warning: format specifies type 'void *' but the argument has type 'uptr' (aka 'unsigned long') [-Wformat] + 46 | buffer->AppendF(kFormatFrame, frame_no, address); + | ~~~~~~~~~~~~ ^~~~~~~ +/share/dim/src/freebsd/llvm-18-update/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_symbolizer_markup_constants.h:36:48: note: format string is defined here + 36 | constexpr const char *kFormatFrame = "{{{bt:%u:%p}}}"; + | ^~ + | %lu +/share/dim/src/freebsd/llvm-18-update/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_symbolizer_markup.cpp:51:62: warning: format specifies type 'void *' but the argument has type 'uptr' (aka 'unsigned long') [-Wformat] + 51 | internal_snprintf(buffer, sizeof(buffer), kFormatFunction, addr); + | ~~~~~~~~~~~~~~~ ^~~~ +/share/dim/src/freebsd/llvm-18-update/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_symbolizer_markup_constants.h:29:48: note: format string is defined here + 29 | constexpr const char *kFormatFunction = "{{{pc:%p}}}"; + | ^~ + | %lu +/share/dim/src/freebsd/llvm-18-update/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_symbolizer_markup.cpp:99:34: warning: format specifies type 'int' but the argument has type 'uptr' (aka 'unsigned long') [-Wformat] + 99 | buffer->AppendF(kFormatModule, moduleId, module.full_name(), + | ~~~~~~~~~~~~~ ^~~~~~~~ +/share/dim/src/freebsd/llvm-18-update/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_symbolizer_markup_constants.h:39:50: note: format string is defined here + 39 | constexpr const char *kFormatModule = "{{{module:%d:%s:elf:%s}}}"; + | ^~ + | %lu +/share/dim/src/freebsd/llvm-18-update/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_symbolizer_markup.cpp:121:34: warning: format specifies type 'void *' but the argument has type 'uptr' (aka 'unsigned long') [-Wformat] + 121 | buffer->AppendF(kFormatMmap, range.beg, range.end - range.beg, moduleId, + | ~~~~~~~~~~~ ^~~~~~~~~ +/share/dim/src/freebsd/llvm-18-update/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_symbolizer_markup_constants.h:42:46: note: format string is defined here + 42 | constexpr const char *kFormatMmap = "{{{mmap:%p:0x%x:load:%d:%s:0x%x}}}"; + | ^~ + | %lu +/share/dim/src/freebsd/llvm-18-update/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_symbolizer_markup.cpp:121:45: warning: format specifies type 'unsigned int' but the argument has type 'uptr' (aka 'unsigned long') [-Wformat] + 121 | buffer->AppendF(kFormatMmap, range.beg, range.end - range.beg, moduleId, + | ~~~~~~~~~~~ ^~~~~~~~~~~~~~~~~~~~~ +/share/dim/src/freebsd/llvm-18-update/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_symbolizer_markup_constants.h:42:51: note: format string is defined here + 42 | constexpr const char *kFormatMmap = "{{{mmap:%p:0x%x:load:%d:%s:0x%x}}}"; + | ^~ + | %lx +/share/dim/src/freebsd/llvm-18-update/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_symbolizer_markup.cpp:121:68: warning: format specifies type 'int' but the argument has type 'uptr' (aka 'unsigned long') [-Wformat] + 121 | buffer->AppendF(kFormatMmap, range.beg, range.end - range.beg, moduleId, + | ~~~~~~~~~~~ ^~~~~~~~ +/share/dim/src/freebsd/llvm-18-update/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_symbolizer_markup_constants.h:42:59: note: format string is defined here + 42 | constexpr const char *kFormatMmap = "{{{mmap:%p:0x%x:load:%d:%s:0x%x}}}"; + | ^~ + | %lu +/share/dim/src/freebsd/llvm-18-update/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_symbolizer_markup.cpp:122:42: warning: format specifies type 'unsigned int' but the argument has type 'uptr' (aka 'unsigned long') [-Wformat] + 121 | buffer->AppendF(kFormatMmap, range.beg, range.end - range.beg, moduleId, + | ~~~~~~~~~~~ + 122 | accessBuffer.data(), range.beg - module.base_address()); + | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +/share/dim/src/freebsd/llvm-18-update/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_symbolizer_markup_constants.h:42:67: note: format string is defined here + 42 | constexpr const char *kFormatMmap = "{{{mmap:%p:0x%x:load:%d:%s:0x%x}}}"; + | ^~ + | %lx +8 warnings generated. diff --git a/lib/libclang_rt/asan_cxx/Makefile b/lib/libclang_rt/asan_cxx/Makefile new file mode 100644 index 000000000000..c26690aedfb1 --- /dev/null +++ b/lib/libclang_rt/asan_cxx/Makefile @@ -0,0 +1,13 @@ + +.include <bsd.init.mk> + +LIB= clang_rt.asan_cxx-${CRTARCH} + +CXXFLAGS+= -frtti + +SRCS+= asan/asan_new_delete.cpp +SRCS+= ubsan/ubsan_handlers_cxx.cpp +SRCS+= ubsan/ubsan_type_hash.cpp +SRCS+= ubsan/ubsan_type_hash_itanium.cpp + +.include <bsd.lib.mk> diff --git a/lib/libclang_rt/asan_cxx/Makefile.depend b/lib/libclang_rt/asan_cxx/Makefile.depend new file mode 100644 index 000000000000..e57fef3d9b24 --- /dev/null +++ b/lib/libclang_rt/asan_cxx/Makefile.depend @@ -0,0 +1,12 @@ +# Autogenerated - do NOT edit! + +DIRDEPS = \ + include \ + lib/libc++ \ + + +.include <dirdeps.mk> + +.if ${DEP_RELDIR} == ${_DEP_RELDIR} +# local dependencies - needed for -jN in clean tree +.endif diff --git a/lib/libclang_rt/asan_dynamic/Makefile b/lib/libclang_rt/asan_dynamic/Makefile new file mode 100644 index 000000000000..ed70c7c3dc34 --- /dev/null +++ b/lib/libclang_rt/asan_dynamic/Makefile @@ -0,0 +1,91 @@ + +.include <bsd.init.mk> + +SHLIB_NAME= libclang_rt.asan-${CRTARCH}.so +.undef NO_PIC # sorry... + +CFLAGS+= -DASAN_DYNAMIC=1 + +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_common.cpp +SRCS+= sanitizer_common/sancov_flags.cpp +SRCS+= sanitizer_common/sanitizer_allocator.cpp +SRCS+= sanitizer_common/sanitizer_allocator_checks.cpp +SRCS+= sanitizer_common/sanitizer_allocator_report.cpp +SRCS+= sanitizer_common/sanitizer_chained_origin_depot.cpp +SRCS+= sanitizer_common/sanitizer_common.cpp +SRCS+= sanitizer_common/sanitizer_common_libcdep.cpp +SRCS+= sanitizer_common/sanitizer_coverage_libcdep_new.cpp +SRCS+= sanitizer_common/sanitizer_deadlock_detector1.cpp +SRCS+= sanitizer_common/sanitizer_dl.cpp +SRCS+= sanitizer_common/sanitizer_errno.cpp +SRCS+= sanitizer_common/sanitizer_file.cpp +SRCS+= sanitizer_common/sanitizer_flag_parser.cpp +SRCS+= sanitizer_common/sanitizer_flags.cpp +SRCS+= sanitizer_common/sanitizer_libc.cpp +SRCS+= sanitizer_common/sanitizer_libignore.cpp +SRCS+= sanitizer_common/sanitizer_linux.cpp +SRCS+= sanitizer_common/sanitizer_linux_libcdep.cpp +SRCS+= sanitizer_common/sanitizer_mutex.cpp +SRCS+= sanitizer_common/sanitizer_platform_limits_freebsd.cpp +SRCS+= sanitizer_common/sanitizer_posix.cpp +SRCS+= sanitizer_common/sanitizer_posix_libcdep.cpp +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_suppressions.cpp +SRCS+= sanitizer_common/sanitizer_symbolizer.cpp +SRCS+= sanitizer_common/sanitizer_symbolizer_libbacktrace.cpp +SRCS+= sanitizer_common/sanitizer_symbolizer_libcdep.cpp +SRCS+= sanitizer_common/sanitizer_symbolizer_markup.cpp +SRCS+= sanitizer_common/sanitizer_symbolizer_posix_libcdep.cpp +SRCS+= sanitizer_common/sanitizer_symbolizer_report.cpp +SRCS+= sanitizer_common/sanitizer_termination.cpp +SRCS+= sanitizer_common/sanitizer_thread_arg_retval.cpp +SRCS+= sanitizer_common/sanitizer_thread_registry.cpp +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 + +# Kludge around a bsd.lib.mk shortcoming: when SHLIB_NAME is defined, but LIB +# and LIB_CXX are undefined (which forces building only a shared library), +# there is no way to tell it to use ${CXX} for linking. Since the files for +# this library are all C++ anyway, simply set CC to CXX. +CC= ${CXX} + +.include <bsd.lib.mk> diff --git a/lib/libclang_rt/asan_dynamic/Makefile.depend b/lib/libclang_rt/asan_dynamic/Makefile.depend new file mode 100644 index 000000000000..04eb25a6e4f8 --- /dev/null +++ b/lib/libclang_rt/asan_dynamic/Makefile.depend @@ -0,0 +1,21 @@ +# Autogenerated - do NOT edit! + +DIRDEPS = \ + include \ + include/arpa \ + include/xlocale \ + lib/${CSU_DIR} \ + lib/libc \ + lib/libc++ \ + lib/libcompiler_rt \ + lib/libcxxrt \ + lib/libmd \ + lib/msun \ + lib/ncurses/tinfo \ + + +.include <dirdeps.mk> + +.if ${DEP_RELDIR} == ${_DEP_RELDIR} +# local dependencies - needed for -jN in clean tree +.endif diff --git a/lib/libclang_rt/asan_static/Makefile b/lib/libclang_rt/asan_static/Makefile new file mode 100644 index 000000000000..099ef64b37e2 --- /dev/null +++ b/lib/libclang_rt/asan_static/Makefile @@ -0,0 +1,9 @@ + +.include <bsd.init.mk> + +LIB= clang_rt.asan_static-${CRTARCH} + +SRCS+= asan/asan_rtl_static.cpp +SRCS+= asan/asan_rtl_x86_64.S + +.include <bsd.lib.mk> diff --git a/lib/libclang_rt/cfi/Makefile b/lib/libclang_rt/cfi/Makefile new file mode 100644 index 000000000000..5fdbb9fd6cc3 --- /dev/null +++ b/lib/libclang_rt/cfi/Makefile @@ -0,0 +1,40 @@ + +.include <bsd.init.mk> + +LIB= clang_rt.cfi-${CRTARCH} + +SRCS+= cfi/cfi.cpp +SRCS+= interception/interception_linux.cpp +SRCS+= sanitizer_common/sanitizer_allocator.cpp +SRCS+= sanitizer_common/sanitizer_allocator_checks.cpp +SRCS+= sanitizer_common/sanitizer_common.cpp +SRCS+= sanitizer_common/sanitizer_common_libcdep.cpp +SRCS+= sanitizer_common/sanitizer_deadlock_detector1.cpp +SRCS+= sanitizer_common/sanitizer_dl.cpp +SRCS+= sanitizer_common/sanitizer_errno.cpp +SRCS+= sanitizer_common/sanitizer_file.cpp +SRCS+= sanitizer_common/sanitizer_flag_parser.cpp +SRCS+= sanitizer_common/sanitizer_flags.cpp +SRCS+= sanitizer_common/sanitizer_libc.cpp +SRCS+= sanitizer_common/sanitizer_libignore.cpp +SRCS+= sanitizer_common/sanitizer_linux.cpp +SRCS+= sanitizer_common/sanitizer_linux_libcdep.cpp +SRCS+= sanitizer_common/sanitizer_mutex.cpp +SRCS+= sanitizer_common/sanitizer_platform_limits_freebsd.cpp +SRCS+= sanitizer_common/sanitizer_posix.cpp +SRCS+= sanitizer_common/sanitizer_posix_libcdep.cpp +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_suppressions.cpp +SRCS+= sanitizer_common/sanitizer_termination.cpp +SRCS+= sanitizer_common/sanitizer_thread_arg_retval.cpp +SRCS+= sanitizer_common/sanitizer_thread_registry.cpp +SRCS+= sanitizer_common/sanitizer_tls_get_addr.cpp +SRCS+= sanitizer_common/sanitizer_type_traits.cpp + +FILESDIR= ${SANITIZER_SHAREDIR} +FILES+= cfi/cfi_ignorelist.txt + +.include <bsd.lib.mk> diff --git a/lib/libclang_rt/cfi_diag/Makefile b/lib/libclang_rt/cfi_diag/Makefile new file mode 100644 index 000000000000..66a5d2c88e8d --- /dev/null +++ b/lib/libclang_rt/cfi_diag/Makefile @@ -0,0 +1,59 @@ + +.include <bsd.init.mk> + +LIB= clang_rt.cfi_diag-${CRTARCH} + +SRCS+= cfi/cfi.cpp +SRCS+= interception/interception_linux.cpp +SRCS+= sanitizer_common/sancov_flags.cpp +SRCS+= sanitizer_common/sanitizer_allocator.cpp +SRCS+= sanitizer_common/sanitizer_allocator_checks.cpp +SRCS+= sanitizer_common/sanitizer_allocator_report.cpp +SRCS+= sanitizer_common/sanitizer_chained_origin_depot.cpp +SRCS+= sanitizer_common/sanitizer_common.cpp +SRCS+= sanitizer_common/sanitizer_common_libcdep.cpp +SRCS+= sanitizer_common/sanitizer_coverage_libcdep_new.cpp +SRCS+= sanitizer_common/sanitizer_deadlock_detector1.cpp +SRCS+= sanitizer_common/sanitizer_dl.cpp +SRCS+= sanitizer_common/sanitizer_errno.cpp +SRCS+= sanitizer_common/sanitizer_file.cpp +SRCS+= sanitizer_common/sanitizer_flag_parser.cpp +SRCS+= sanitizer_common/sanitizer_flags.cpp +SRCS+= sanitizer_common/sanitizer_libc.cpp +SRCS+= sanitizer_common/sanitizer_libignore.cpp +SRCS+= sanitizer_common/sanitizer_linux.cpp +SRCS+= sanitizer_common/sanitizer_linux_libcdep.cpp +SRCS+= sanitizer_common/sanitizer_mutex.cpp +SRCS+= sanitizer_common/sanitizer_platform_limits_freebsd.cpp +SRCS+= sanitizer_common/sanitizer_posix.cpp +SRCS+= sanitizer_common/sanitizer_posix_libcdep.cpp +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_suppressions.cpp +SRCS+= sanitizer_common/sanitizer_symbolizer.cpp +SRCS+= sanitizer_common/sanitizer_symbolizer_libbacktrace.cpp +SRCS+= sanitizer_common/sanitizer_symbolizer_libcdep.cpp +SRCS+= sanitizer_common/sanitizer_symbolizer_markup.cpp +SRCS+= sanitizer_common/sanitizer_symbolizer_posix_libcdep.cpp +SRCS+= sanitizer_common/sanitizer_symbolizer_report.cpp +SRCS+= sanitizer_common/sanitizer_termination.cpp +SRCS+= sanitizer_common/sanitizer_thread_arg_retval.cpp +SRCS+= sanitizer_common/sanitizer_thread_registry.cpp +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 + +.include <bsd.lib.mk> diff --git a/lib/libclang_rt/compiler-rt-vars.mk b/lib/libclang_rt/compiler-rt-vars.mk new file mode 100644 index 000000000000..5a9f115697d9 --- /dev/null +++ b/lib/libclang_rt/compiler-rt-vars.mk @@ -0,0 +1,28 @@ +CLANG_SUBDIR=clang/18 +CLANGDIR= /usr/lib/${CLANG_SUBDIR} +SANITIZER_LIBDIR= ${CLANGDIR}/lib/freebsd +SANITIZER_SHAREDIR= ${CLANGDIR}/share + +# armv[67] is a bit special since we allow a soft-floating version via +# CPUTYPE matching *soft*. This variant may not actually work though. +.if ${MACHINE_ARCH:Marmv[67]*} != "" && \ + (!defined(CPUTYPE) || ${CPUTYPE:M*soft*} == "") +CRTARCH?= armhf +.else +CRTARCH?= ${MACHINE_ARCH:S/amd64/x86_64/} +.endif + +.if ${COMPILER_TYPE} == "clang" +# The only way to set the path to the sanitizer libraries with clang is to +# override the resource directory. +# Note: lib/freebsd is automatically appended to the -resource-dir value. +SANITIZER_LDFLAGS+= -resource-dir=${SYSROOT}${CLANGDIR} +# Also set RPATH to ensure that the dynamically linked runtime libs are found. +SANITIZER_LDFLAGS+= -Wl,--enable-new-dtags +SANITIZER_LDFLAGS+= -Wl,-rpath,${SANITIZER_LIBDIR} +.elif ${COMPILER_TYPE} != "none" +# This file can be included with COMPILER_TYPE=none during the cleandir phase, +# only emit an error when trying to compile with an unsupported compiler such +# as GCC. +.error "Unknown link flags for -fsanitize=... COMPILER_TYPE=${COMPILER_TYPE}" +.endif diff --git a/lib/libclang_rt/dd/Makefile b/lib/libclang_rt/dd/Makefile new file mode 100644 index 000000000000..558d7cfb6982 --- /dev/null +++ b/lib/libclang_rt/dd/Makefile @@ -0,0 +1,38 @@ + +.include <bsd.init.mk> + +LIB= clang_rt.dd-${CRTARCH} + +SRCS+= interception/interception_linux.cpp +SRCS+= sanitizer_common/sanitizer_allocator.cpp +SRCS+= sanitizer_common/sanitizer_allocator_checks.cpp +SRCS+= sanitizer_common/sanitizer_common.cpp +SRCS+= sanitizer_common/sanitizer_common_libcdep.cpp +SRCS+= sanitizer_common/sanitizer_deadlock_detector1.cpp +SRCS+= sanitizer_common/sanitizer_dl.cpp +SRCS+= sanitizer_common/sanitizer_errno.cpp +SRCS+= sanitizer_common/sanitizer_file.cpp +SRCS+= sanitizer_common/sanitizer_flag_parser.cpp +SRCS+= sanitizer_common/sanitizer_flags.cpp +SRCS+= sanitizer_common/sanitizer_libc.cpp +SRCS+= sanitizer_common/sanitizer_libignore.cpp +SRCS+= sanitizer_common/sanitizer_linux.cpp +SRCS+= sanitizer_common/sanitizer_linux_libcdep.cpp +SRCS+= sanitizer_common/sanitizer_mutex.cpp +SRCS+= sanitizer_common/sanitizer_platform_limits_freebsd.cpp +SRCS+= sanitizer_common/sanitizer_posix.cpp +SRCS+= sanitizer_common/sanitizer_posix_libcdep.cpp +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_suppressions.cpp +SRCS+= sanitizer_common/sanitizer_termination.cpp +SRCS+= sanitizer_common/sanitizer_thread_arg_retval.cpp +SRCS+= sanitizer_common/sanitizer_thread_registry.cpp +SRCS+= sanitizer_common/sanitizer_tls_get_addr.cpp +SRCS+= sanitizer_common/sanitizer_type_traits.cpp +SRCS+= tsan/dd/dd_interceptors.cpp +SRCS+= tsan/dd/dd_rtl.cpp + +.include <bsd.lib.mk> diff --git a/lib/libclang_rt/fuzzer/Makefile b/lib/libclang_rt/fuzzer/Makefile new file mode 100644 index 000000000000..73e69616d8a1 --- /dev/null +++ b/lib/libclang_rt/fuzzer/Makefile @@ -0,0 +1,29 @@ + +.include <bsd.init.mk> + +LIB= clang_rt.fuzzer-${CRTARCH} + +SRCS+= fuzzer/FuzzerCrossOver.cpp +SRCS+= fuzzer/FuzzerDataFlowTrace.cpp +SRCS+= fuzzer/FuzzerDriver.cpp +SRCS+= fuzzer/FuzzerExtFunctionsDlsym.cpp +SRCS+= fuzzer/FuzzerExtFunctionsWeak.cpp +SRCS+= fuzzer/FuzzerExtraCounters.cpp +SRCS+= fuzzer/FuzzerFork.cpp +SRCS+= fuzzer/FuzzerIO.cpp +SRCS+= fuzzer/FuzzerIOPosix.cpp +SRCS+= fuzzer/FuzzerLoop.cpp +SRCS+= fuzzer/FuzzerMain.cpp +SRCS+= fuzzer/FuzzerMerge.cpp +SRCS+= fuzzer/FuzzerMutate.cpp +SRCS+= fuzzer/FuzzerSHA1.cpp +SRCS+= fuzzer/FuzzerTracePC.cpp +SRCS+= fuzzer/FuzzerUtil.cpp +SRCS+= fuzzer/FuzzerUtilLinux.cpp +SRCS+= fuzzer/FuzzerUtilPosix.cpp + +.PATH: ${CRTSRC}/include/fuzzer +INCSDIR= ${CLANGDIR}/include/fuzzer +INCS+= FuzzedDataProvider.h + +.include <bsd.lib.mk> diff --git a/lib/libclang_rt/fuzzer_interceptors/Makefile b/lib/libclang_rt/fuzzer_interceptors/Makefile new file mode 100644 index 000000000000..52f8425e429a --- /dev/null +++ b/lib/libclang_rt/fuzzer_interceptors/Makefile @@ -0,0 +1,8 @@ + +.include <bsd.init.mk> + +LIB= clang_rt.fuzzer_interceptors-${CRTARCH} + +SRCS+= fuzzer/FuzzerInterceptors.cpp + +.include <bsd.lib.mk> diff --git a/lib/libclang_rt/fuzzer_no_main/Makefile b/lib/libclang_rt/fuzzer_no_main/Makefile new file mode 100644 index 000000000000..088f0f2e79ab --- /dev/null +++ b/lib/libclang_rt/fuzzer_no_main/Makefile @@ -0,0 +1,24 @@ + +.include <bsd.init.mk> + +LIB= clang_rt.fuzzer_no_main-${CRTARCH} + +SRCS+= fuzzer/FuzzerCrossOver.cpp +SRCS+= fuzzer/FuzzerDataFlowTrace.cpp +SRCS+= fuzzer/FuzzerDriver.cpp +SRCS+= fuzzer/FuzzerExtFunctionsDlsym.cpp +SRCS+= fuzzer/FuzzerExtFunctionsWeak.cpp +SRCS+= fuzzer/FuzzerExtraCounters.cpp +SRCS+= fuzzer/FuzzerFork.cpp +SRCS+= fuzzer/FuzzerIO.cpp +SRCS+= fuzzer/FuzzerIOPosix.cpp +SRCS+= fuzzer/FuzzerLoop.cpp +SRCS+= fuzzer/FuzzerMerge.cpp +SRCS+= fuzzer/FuzzerMutate.cpp +SRCS+= fuzzer/FuzzerSHA1.cpp +SRCS+= fuzzer/FuzzerTracePC.cpp +SRCS+= fuzzer/FuzzerUtil.cpp +SRCS+= fuzzer/FuzzerUtilLinux.cpp +SRCS+= fuzzer/FuzzerUtilPosix.cpp + +.include <bsd.lib.mk> diff --git a/lib/libclang_rt/include/Makefile b/lib/libclang_rt/include/Makefile new file mode 100644 index 000000000000..ab881db3da76 --- /dev/null +++ b/lib/libclang_rt/include/Makefile @@ -0,0 +1,24 @@ + +.include <bsd.init.mk> + +.PATH: ${CRTSRC}/include/sanitizer + +INCSDIR= ${CLANGDIR}/include/sanitizer + +INCS+= allocator_interface.h +INCS+= asan_interface.h +INCS+= common_interface_defs.h +INCS+= coverage_interface.h +INCS+= dfsan_interface.h +INCS+= hwasan_interface.h +INCS+= linux_syscall_hooks.h +INCS+= lsan_interface.h +INCS+= memprof_interface.h +INCS+= msan_interface.h +INCS+= netbsd_syscall_hooks.h +INCS+= scudo_interface.h +INCS+= tsan_interface.h +INCS+= tsan_interface_atomic.h +INCS+= ubsan_interface.h + +.include <bsd.prog.mk> diff --git a/lib/libclang_rt/include/Makefile.depend b/lib/libclang_rt/include/Makefile.depend new file mode 100644 index 000000000000..11aba52f82cf --- /dev/null +++ b/lib/libclang_rt/include/Makefile.depend @@ -0,0 +1,10 @@ +# Autogenerated - do NOT edit! + +DIRDEPS = \ + + +.include <dirdeps.mk> + +.if ${DEP_RELDIR} == ${_DEP_RELDIR} +# local dependencies - needed for -jN in clean tree +.endif diff --git a/lib/libclang_rt/msan/Makefile b/lib/libclang_rt/msan/Makefile new file mode 100644 index 000000000000..18afe7e474f1 --- /dev/null +++ b/lib/libclang_rt/msan/Makefile @@ -0,0 +1,70 @@ + +.include <bsd.init.mk> + +LIB= clang_rt.msan-${CRTARCH} + +SRCS+= interception/interception_linux.cpp +SRCS+= msan/msan.cpp +SRCS+= msan/msan_allocator.cpp +SRCS+= msan/msan_chained_origin_depot.cpp +SRCS+= msan/msan_dl.cpp +SRCS+= msan/msan_interceptors.cpp +SRCS+= msan/msan_linux.cpp +SRCS+= msan/msan_poisoning.cpp +SRCS+= msan/msan_report.cpp +SRCS+= msan/msan_thread.cpp +SRCS+= sanitizer_common/sancov_flags.cpp +SRCS+= sanitizer_common/sanitizer_allocator.cpp +SRCS+= sanitizer_common/sanitizer_allocator_checks.cpp +SRCS+= sanitizer_common/sanitizer_allocator_report.cpp +SRCS+= sanitizer_common/sanitizer_chained_origin_depot.cpp +SRCS+= sanitizer_common/sanitizer_common.cpp +SRCS+= sanitizer_common/sanitizer_common_libcdep.cpp +SRCS+= sanitizer_common/sanitizer_coverage_libcdep_new.cpp +SRCS+= sanitizer_common/sanitizer_deadlock_detector1.cpp +SRCS+= sanitizer_common/sanitizer_dl.cpp +SRCS+= sanitizer_common/sanitizer_errno.cpp +SRCS+= sanitizer_common/sanitizer_file.cpp +SRCS+= sanitizer_common/sanitizer_flag_parser.cpp +SRCS+= sanitizer_common/sanitizer_flags.cpp +SRCS+= sanitizer_common/sanitizer_libc.cpp +SRCS+= sanitizer_common/sanitizer_libignore.cpp +SRCS+= sanitizer_common/sanitizer_linux.cpp +SRCS+= sanitizer_common/sanitizer_linux_libcdep.cpp +SRCS+= sanitizer_common/sanitizer_mutex.cpp +SRCS+= sanitizer_common/sanitizer_platform_limits_freebsd.cpp +SRCS+= sanitizer_common/sanitizer_posix.cpp +SRCS+= sanitizer_common/sanitizer_posix_libcdep.cpp +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_suppressions.cpp +SRCS+= sanitizer_common/sanitizer_symbolizer.cpp +SRCS+= sanitizer_common/sanitizer_symbolizer_libbacktrace.cpp +SRCS+= sanitizer_common/sanitizer_symbolizer_libcdep.cpp +SRCS+= sanitizer_common/sanitizer_symbolizer_markup.cpp +SRCS+= sanitizer_common/sanitizer_symbolizer_posix_libcdep.cpp +SRCS+= sanitizer_common/sanitizer_symbolizer_report.cpp +SRCS+= sanitizer_common/sanitizer_termination.cpp +SRCS+= sanitizer_common/sanitizer_thread_arg_retval.cpp +SRCS+= sanitizer_common/sanitizer_thread_registry.cpp +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+= msan/msan_ignorelist.txt + +.include <bsd.lib.mk> diff --git a/lib/libclang_rt/msan_cxx/Makefile b/lib/libclang_rt/msan_cxx/Makefile new file mode 100644 index 000000000000..59ad2120111f --- /dev/null +++ b/lib/libclang_rt/msan_cxx/Makefile @@ -0,0 +1,15 @@ + +.include <bsd.init.mk> + +LIB= clang_rt.msan_cxx-${CRTARCH} + +SRCS+= msan/msan_new_delete.cpp +SRCS+= ubsan/ubsan_handlers_cxx.cpp +SRCS+= ubsan/ubsan_type_hash.cpp +SRCS+= ubsan/ubsan_type_hash_itanium.cpp + +.include <bsd.lib.mk> + +CXXFLAGS.ubsan_handlers_cxx.cpp= -frtti +CXXFLAGS.ubsan_type_hash.cpp= -frtti +CXXFLAGS.ubsan_type_hash_itanium.cpp= -frtti diff --git a/lib/libclang_rt/profile/Makefile b/lib/libclang_rt/profile/Makefile new file mode 100644 index 000000000000..ac4e9d66d332 --- /dev/null +++ b/lib/libclang_rt/profile/Makefile @@ -0,0 +1,34 @@ + +.include <bsd.init.mk> + +LIB= clang_rt.profile-${CRTARCH} + +CFLAGS+= -DCOMPILER_RT_HAS_ATOMICS=1 +CFLAGS+= -DCOMPILER_RT_HAS_FCNTL_LCK=1 +CFLAGS+= -DCOMPILER_RT_HAS_UNAME=1 + +# This is needed for --coverage +CXXFLAGS+= -fvisibility=default + +SRCS+= profile/GCDAProfiling.c +SRCS+= profile/InstrProfiling.c +SRCS+= profile/InstrProfilingBuffer.c +SRCS+= profile/InstrProfilingFile.c +SRCS+= profile/InstrProfilingInternal.c +SRCS+= profile/InstrProfilingMerge.c +SRCS+= profile/InstrProfilingMergeFile.c +SRCS+= profile/InstrProfilingNameVar.c +SRCS+= profile/InstrProfilingPlatformLinux.c +SRCS+= profile/InstrProfilingPlatformOther.c +SRCS+= profile/InstrProfilingRuntime.cpp +SRCS+= profile/InstrProfilingUtil.c +SRCS+= profile/InstrProfilingValue.c +SRCS+= profile/InstrProfilingVersionVar.c +SRCS+= profile/InstrProfilingWriter.c + +.PATH: ${CRTSRC}/include/profile +INCSDIR= ${CLANGDIR}/include/profile +INCS+= InstrProfData.inc +INCS+= MemProfData.inc + +.include <bsd.lib.mk> diff --git a/lib/libclang_rt/profile/Makefile.depend b/lib/libclang_rt/profile/Makefile.depend new file mode 100644 index 000000000000..37aec7f3693e --- /dev/null +++ b/lib/libclang_rt/profile/Makefile.depend @@ -0,0 +1,13 @@ +# Autogenerated - do NOT edit! + +DIRDEPS = \ + include \ + include/xlocale \ + lib/libc++ \ + + +.include <dirdeps.mk> + +.if ${DEP_RELDIR} == ${_DEP_RELDIR} +# local dependencies - needed for -jN in clean tree +.endif diff --git a/lib/libclang_rt/safestack/Makefile b/lib/libclang_rt/safestack/Makefile new file mode 100644 index 000000000000..bbf4a665c37f --- /dev/null +++ b/lib/libclang_rt/safestack/Makefile @@ -0,0 +1,9 @@ + +.include <bsd.init.mk> + +LIB= clang_rt.safestack-${CRTARCH} + +SRCS+= interception/interception_linux.cpp +SRCS+= safestack/safestack.cpp + +.include <bsd.lib.mk> diff --git a/lib/libclang_rt/safestack/Makefile.depend b/lib/libclang_rt/safestack/Makefile.depend new file mode 100644 index 000000000000..37aec7f3693e --- /dev/null +++ b/lib/libclang_rt/safestack/Makefile.depend @@ -0,0 +1,13 @@ +# Autogenerated - do NOT edit! + +DIRDEPS = \ + include \ + include/xlocale \ + lib/libc++ \ + + +.include <dirdeps.mk> + +.if ${DEP_RELDIR} == ${_DEP_RELDIR} +# local dependencies - needed for -jN in clean tree +.endif diff --git a/lib/libclang_rt/stats/Makefile b/lib/libclang_rt/stats/Makefile new file mode 100644 index 000000000000..63ed5eb22c5f --- /dev/null +++ b/lib/libclang_rt/stats/Makefile @@ -0,0 +1,50 @@ + +.include <bsd.init.mk> + +LIB= clang_rt.stats-${CRTARCH} + +SRCS+= sanitizer_common/sanitizer_allocator.cpp +SRCS+= sanitizer_common/sanitizer_allocator_checks.cpp +SRCS+= sanitizer_common/sanitizer_allocator_report.cpp +SRCS+= sanitizer_common/sanitizer_chained_origin_depot.cpp +SRCS+= sanitizer_common/sanitizer_common.cpp +SRCS+= sanitizer_common/sanitizer_common_libcdep.cpp +SRCS+= sanitizer_common/sanitizer_deadlock_detector1.cpp +SRCS+= sanitizer_common/sanitizer_dl.cpp +SRCS+= sanitizer_common/sanitizer_errno.cpp +SRCS+= sanitizer_common/sanitizer_file.cpp +SRCS+= sanitizer_common/sanitizer_flag_parser.cpp +SRCS+= sanitizer_common/sanitizer_flags.cpp +SRCS+= sanitizer_common/sanitizer_libc.cpp +SRCS+= sanitizer_common/sanitizer_libignore.cpp +SRCS+= sanitizer_common/sanitizer_linux.cpp +SRCS+= sanitizer_common/sanitizer_linux_libcdep.cpp +SRCS+= sanitizer_common/sanitizer_mutex.cpp +SRCS+= sanitizer_common/sanitizer_platform_limits_freebsd.cpp +SRCS+= sanitizer_common/sanitizer_posix.cpp +SRCS+= sanitizer_common/sanitizer_posix_libcdep.cpp +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_suppressions.cpp +SRCS+= sanitizer_common/sanitizer_symbolizer.cpp +SRCS+= sanitizer_common/sanitizer_symbolizer_libbacktrace.cpp +SRCS+= sanitizer_common/sanitizer_symbolizer_libcdep.cpp +SRCS+= sanitizer_common/sanitizer_symbolizer_markup.cpp +SRCS+= sanitizer_common/sanitizer_symbolizer_posix_libcdep.cpp +SRCS+= sanitizer_common/sanitizer_symbolizer_report.cpp +SRCS+= sanitizer_common/sanitizer_termination.cpp +SRCS+= sanitizer_common/sanitizer_thread_arg_retval.cpp +SRCS+= sanitizer_common/sanitizer_thread_registry.cpp +SRCS+= sanitizer_common/sanitizer_tls_get_addr.cpp +SRCS+= sanitizer_common/sanitizer_type_traits.cpp +SRCS+= sanitizer_common/sanitizer_unwind_linux_libcdep.cpp +SRCS+= stats/stats.cpp + +.include <bsd.lib.mk> diff --git a/lib/libclang_rt/stats/Makefile.depend b/lib/libclang_rt/stats/Makefile.depend new file mode 100644 index 000000000000..2427fe0ab42b --- /dev/null +++ b/lib/libclang_rt/stats/Makefile.depend @@ -0,0 +1,16 @@ +# Autogenerated - do NOT edit! + +DIRDEPS = \ + include \ + include/arpa \ + include/xlocale \ + lib/libc++ \ + lib/libmd \ + lib/ncurses/tinfo \ + + +.include <dirdeps.mk> + +.if ${DEP_RELDIR} == ${_DEP_RELDIR} +# local dependencies - needed for -jN in clean tree +.endif diff --git a/lib/libclang_rt/stats_client/Makefile b/lib/libclang_rt/stats_client/Makefile new file mode 100644 index 000000000000..010763a9e25a --- /dev/null +++ b/lib/libclang_rt/stats_client/Makefile @@ -0,0 +1,8 @@ + +.include <bsd.init.mk> + +LIB= clang_rt.stats_client-${CRTARCH} + +SRCS+= stats/stats_client.cpp + +.include <bsd.lib.mk> diff --git a/lib/libclang_rt/stats_client/Makefile.depend b/lib/libclang_rt/stats_client/Makefile.depend new file mode 100644 index 000000000000..e57fef3d9b24 --- /dev/null +++ b/lib/libclang_rt/stats_client/Makefile.depend @@ -0,0 +1,12 @@ +# Autogenerated - do NOT edit! + +DIRDEPS = \ + include \ + lib/libc++ \ + + +.include <dirdeps.mk> + +.if ${DEP_RELDIR} == ${_DEP_RELDIR} +# local dependencies - needed for -jN in clean tree +.endif diff --git a/lib/libclang_rt/tsan/Makefile b/lib/libclang_rt/tsan/Makefile new file mode 100644 index 000000000000..906156a48204 --- /dev/null +++ b/lib/libclang_rt/tsan/Makefile @@ -0,0 +1,88 @@ + +.include <bsd.init.mk> + +LIB= clang_rt.tsan-${CRTARCH} + +SRCS+= interception/interception_linux.cpp +SRCS+= sanitizer_common/sancov_flags.cpp +SRCS+= sanitizer_common/sanitizer_allocator.cpp +SRCS+= sanitizer_common/sanitizer_allocator_checks.cpp +SRCS+= sanitizer_common/sanitizer_allocator_report.cpp +SRCS+= sanitizer_common/sanitizer_chained_origin_depot.cpp +SRCS+= sanitizer_common/sanitizer_common.cpp +SRCS+= sanitizer_common/sanitizer_common_libcdep.cpp +SRCS+= sanitizer_common/sanitizer_coverage_libcdep_new.cpp +SRCS+= sanitizer_common/sanitizer_deadlock_detector1.cpp +SRCS+= sanitizer_common/sanitizer_dl.cpp +SRCS+= sanitizer_common/sanitizer_errno.cpp +SRCS+= sanitizer_common/sanitizer_file.cpp +SRCS+= sanitizer_common/sanitizer_flag_parser.cpp +SRCS+= sanitizer_common/sanitizer_flags.cpp +SRCS+= sanitizer_common/sanitizer_libc.cpp +SRCS+= sanitizer_common/sanitizer_libignore.cpp +SRCS+= sanitizer_common/sanitizer_linux.cpp +SRCS+= sanitizer_common/sanitizer_linux_libcdep.cpp +SRCS+= sanitizer_common/sanitizer_mutex.cpp +SRCS+= sanitizer_common/sanitizer_platform_limits_freebsd.cpp +SRCS+= sanitizer_common/sanitizer_posix.cpp +SRCS+= sanitizer_common/sanitizer_posix_libcdep.cpp +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_suppressions.cpp +SRCS+= sanitizer_common/sanitizer_symbolizer.cpp +SRCS+= sanitizer_common/sanitizer_symbolizer_libbacktrace.cpp +SRCS+= sanitizer_common/sanitizer_symbolizer_libcdep.cpp +SRCS+= sanitizer_common/sanitizer_symbolizer_markup.cpp +SRCS+= sanitizer_common/sanitizer_symbolizer_posix_libcdep.cpp +SRCS+= sanitizer_common/sanitizer_symbolizer_report.cpp +SRCS+= sanitizer_common/sanitizer_termination.cpp +SRCS+= sanitizer_common/sanitizer_thread_arg_retval.cpp +SRCS+= sanitizer_common/sanitizer_thread_registry.cpp +SRCS+= sanitizer_common/sanitizer_tls_get_addr.cpp +SRCS+= sanitizer_common/sanitizer_type_traits.cpp +SRCS+= sanitizer_common/sanitizer_unwind_linux_libcdep.cpp +SRCS+= tsan/rtl/tsan_debugging.cpp +SRCS+= tsan/rtl/tsan_external.cpp +SRCS+= tsan/rtl/tsan_fd.cpp +SRCS+= tsan/rtl/tsan_flags.cpp +SRCS+= tsan/rtl/tsan_ignoreset.cpp +SRCS+= tsan/rtl/tsan_interceptors_memintrinsics.cpp +SRCS+= tsan/rtl/tsan_interceptors_posix.cpp +SRCS+= tsan/rtl/tsan_interface.cpp +SRCS+= tsan/rtl/tsan_interface_ann.cpp +SRCS+= tsan/rtl/tsan_interface_atomic.cpp +SRCS+= tsan/rtl/tsan_interface_java.cpp +SRCS+= tsan/rtl/tsan_md5.cpp +SRCS+= tsan/rtl/tsan_mman.cpp +SRCS+= tsan/rtl/tsan_mutexset.cpp +SRCS+= tsan/rtl/tsan_platform_linux.cpp +SRCS+= tsan/rtl/tsan_platform_posix.cpp +SRCS+= tsan/rtl/tsan_preinit.cpp +SRCS+= tsan/rtl/tsan_report.cpp +SRCS+= tsan/rtl/tsan_rtl.cpp +SRCS+= tsan/rtl/tsan_rtl_access.cpp +SRCS+= tsan/rtl/tsan_rtl_amd64.S +SRCS+= tsan/rtl/tsan_rtl_mutex.cpp +SRCS+= tsan/rtl/tsan_rtl_proc.cpp +SRCS+= tsan/rtl/tsan_rtl_report.cpp +SRCS+= tsan/rtl/tsan_rtl_thread.cpp +SRCS+= tsan/rtl/tsan_stack_trace.cpp +SRCS+= tsan/rtl/tsan_suppressions.cpp +SRCS+= tsan/rtl/tsan_symbolize.cpp +SRCS+= tsan/rtl/tsan_sync.cpp +SRCS+= tsan/rtl/tsan_vector_clock.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 + +.include <bsd.lib.mk> diff --git a/lib/libclang_rt/tsan_cxx/Makefile b/lib/libclang_rt/tsan_cxx/Makefile new file mode 100644 index 000000000000..b556699c9115 --- /dev/null +++ b/lib/libclang_rt/tsan_cxx/Makefile @@ -0,0 +1,15 @@ + +.include <bsd.init.mk> + +LIB= clang_rt.tsan_cxx-${CRTARCH} + +SRCS+= tsan/rtl/tsan_new_delete.cpp +SRCS+= ubsan/ubsan_handlers_cxx.cpp +SRCS+= ubsan/ubsan_type_hash.cpp +SRCS+= ubsan/ubsan_type_hash_itanium.cpp + +.include <bsd.lib.mk> + +CXXFLAGS.ubsan_handlers_cxx.cpp= -frtti +CXXFLAGS.ubsan_type_hash.cpp= -frtti +CXXFLAGS.ubsan_type_hash_itanium.cpp= -frtti diff --git a/lib/libclang_rt/ubsan_minimal/Makefile b/lib/libclang_rt/ubsan_minimal/Makefile new file mode 100644 index 000000000000..5edbad5df89f --- /dev/null +++ b/lib/libclang_rt/ubsan_minimal/Makefile @@ -0,0 +1,10 @@ + +.include <bsd.init.mk> + +LIB= clang_rt.ubsan_minimal-${CRTARCH} + +CFLAGS+= -DSANITIZER_COMMON_NO_REDEFINE_BUILTINS + +SRCS+= ubsan_minimal/ubsan_minimal_handlers.cpp + +.include <bsd.lib.mk> diff --git a/lib/libclang_rt/ubsan_standalone/Makefile b/lib/libclang_rt/ubsan_standalone/Makefile new file mode 100644 index 000000000000..6b4964715b5a --- /dev/null +++ b/lib/libclang_rt/ubsan_standalone/Makefile @@ -0,0 +1,62 @@ + +.include <bsd.init.mk> + +LIB= clang_rt.ubsan_standalone-${CRTARCH} + +SRCS+= interception/interception_linux.cpp +SRCS+= sanitizer_common/sancov_flags.cpp +SRCS+= sanitizer_common/sanitizer_allocator.cpp +SRCS+= sanitizer_common/sanitizer_allocator_checks.cpp +SRCS+= sanitizer_common/sanitizer_allocator_report.cpp +SRCS+= sanitizer_common/sanitizer_chained_origin_depot.cpp +SRCS+= sanitizer_common/sanitizer_common.cpp +SRCS+= sanitizer_common/sanitizer_common_libcdep.cpp +SRCS+= sanitizer_common/sanitizer_coverage_libcdep_new.cpp +SRCS+= sanitizer_common/sanitizer_deadlock_detector1.cpp +SRCS+= sanitizer_common/sanitizer_dl.cpp +SRCS+= sanitizer_common/sanitizer_errno.cpp +SRCS+= sanitizer_common/sanitizer_file.cpp +SRCS+= sanitizer_common/sanitizer_flag_parser.cpp +SRCS+= sanitizer_common/sanitizer_flags.cpp +SRCS+= sanitizer_common/sanitizer_libc.cpp +SRCS+= sanitizer_common/sanitizer_libignore.cpp +SRCS+= sanitizer_common/sanitizer_linux.cpp +SRCS+= sanitizer_common/sanitizer_linux_libcdep.cpp +SRCS+= sanitizer_common/sanitizer_mutex.cpp +SRCS+= sanitizer_common/sanitizer_platform_limits_freebsd.cpp +SRCS+= sanitizer_common/sanitizer_posix.cpp +SRCS+= sanitizer_common/sanitizer_posix_libcdep.cpp +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_suppressions.cpp +SRCS+= sanitizer_common/sanitizer_symbolizer.cpp +SRCS+= sanitizer_common/sanitizer_symbolizer_libbacktrace.cpp +SRCS+= sanitizer_common/sanitizer_symbolizer_libcdep.cpp +SRCS+= sanitizer_common/sanitizer_symbolizer_markup.cpp +SRCS+= sanitizer_common/sanitizer_symbolizer_posix_libcdep.cpp +SRCS+= sanitizer_common/sanitizer_symbolizer_report.cpp +SRCS+= sanitizer_common/sanitizer_termination.cpp +SRCS+= sanitizer_common/sanitizer_thread_arg_retval.cpp +SRCS+= sanitizer_common/sanitizer_thread_registry.cpp +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_diag_standalone.cpp +SRCS+= ubsan/ubsan_flags.cpp +SRCS+= ubsan/ubsan_handlers.cpp +SRCS+= ubsan/ubsan_init.cpp +SRCS+= ubsan/ubsan_init_standalone.cpp +SRCS+= ubsan/ubsan_init_standalone_preinit.cpp +SRCS+= ubsan/ubsan_monitor.cpp +SRCS+= ubsan/ubsan_signals_standalone.cpp +SRCS+= ubsan/ubsan_value.cpp + +.include <bsd.lib.mk> diff --git a/lib/libclang_rt/ubsan_standalone/Makefile.depend b/lib/libclang_rt/ubsan_standalone/Makefile.depend new file mode 100644 index 000000000000..2427fe0ab42b --- /dev/null +++ b/lib/libclang_rt/ubsan_standalone/Makefile.depend @@ -0,0 +1,16 @@ +# Autogenerated - do NOT edit! + +DIRDEPS = \ + include \ + include/arpa \ + include/xlocale \ + lib/libc++ \ + lib/libmd \ + lib/ncurses/tinfo \ + + +.include <dirdeps.mk> + +.if ${DEP_RELDIR} == ${_DEP_RELDIR} +# local dependencies - needed for -jN in clean tree +.endif diff --git a/lib/libclang_rt/ubsan_standalone_cxx/Makefile b/lib/libclang_rt/ubsan_standalone_cxx/Makefile new file mode 100644 index 000000000000..bfca7e1bd693 --- /dev/null +++ b/lib/libclang_rt/ubsan_standalone_cxx/Makefile @@ -0,0 +1,12 @@ + +.include <bsd.init.mk> + +LIB= clang_rt.ubsan_standalone_cxx-${CRTARCH} + +CXXFLAGS+= -frtti + +SRCS+= ubsan/ubsan_handlers_cxx.cpp +SRCS+= ubsan/ubsan_type_hash.cpp +SRCS+= ubsan/ubsan_type_hash_itanium.cpp + +.include <bsd.lib.mk> diff --git a/lib/libclang_rt/ubsan_standalone_cxx/Makefile.depend b/lib/libclang_rt/ubsan_standalone_cxx/Makefile.depend new file mode 100644 index 000000000000..e57fef3d9b24 --- /dev/null +++ b/lib/libclang_rt/ubsan_standalone_cxx/Makefile.depend @@ -0,0 +1,12 @@ +# Autogenerated - do NOT edit! + +DIRDEPS = \ + include \ + lib/libc++ \ + + +.include <dirdeps.mk> + +.if ${DEP_RELDIR} == ${_DEP_RELDIR} +# local dependencies - needed for -jN in clean tree +.endif diff --git a/lib/libclang_rt/xray-basic/Makefile b/lib/libclang_rt/xray-basic/Makefile new file mode 100644 index 000000000000..f5421f59679b --- /dev/null +++ b/lib/libclang_rt/xray-basic/Makefile @@ -0,0 +1,11 @@ + +.include <bsd.init.mk> + +LIB= clang_rt.xray-basic-${CRTARCH} + +CFLAGS+= -DSANITIZER_COMMON_NO_REDEFINE_BUILTINS + +SRCS+= xray/xray_basic_flags.cpp +SRCS+= xray/xray_basic_logging.cpp + +.include <bsd.lib.mk> diff --git a/lib/libclang_rt/xray-fdr/Makefile b/lib/libclang_rt/xray-fdr/Makefile new file mode 100644 index 000000000000..43bfd97b0dec --- /dev/null +++ b/lib/libclang_rt/xray-fdr/Makefile @@ -0,0 +1,11 @@ + +.include <bsd.init.mk> + +LIB= clang_rt.xray-fdr-${CRTARCH} + +CFLAGS+= -DSANITIZER_COMMON_NO_REDEFINE_BUILTINS + +SRCS+= xray/xray_fdr_flags.cpp +SRCS+= xray/xray_fdr_logging.cpp + +.include <bsd.lib.mk> diff --git a/lib/libclang_rt/xray-profiling/Makefile b/lib/libclang_rt/xray-profiling/Makefile new file mode 100644 index 000000000000..4e609b777799 --- /dev/null +++ b/lib/libclang_rt/xray-profiling/Makefile @@ -0,0 +1,12 @@ + +.include <bsd.init.mk> + +LIB= clang_rt.xray-profiling-${CRTARCH} + +CFLAGS+= -DSANITIZER_COMMON_NO_REDEFINE_BUILTINS + +SRCS+= xray/xray_profile_collector.cpp +SRCS+= xray/xray_profiling.cpp +SRCS+= xray/xray_profiling_flags.cpp + +.include <bsd.lib.mk> diff --git a/lib/libclang_rt/xray/Makefile b/lib/libclang_rt/xray/Makefile new file mode 100644 index 000000000000..91abbb743667 --- /dev/null +++ b/lib/libclang_rt/xray/Makefile @@ -0,0 +1,59 @@ + +.include <bsd.init.mk> + +LIB= clang_rt.xray-${CRTARCH} + +CFLAGS+= -DSANITIZER_COMMON_NO_REDEFINE_BUILTINS + +SRCS+= sanitizer_common/sanitizer_allocator.cpp +SRCS+= sanitizer_common/sanitizer_allocator_checks.cpp +SRCS+= sanitizer_common/sanitizer_common.cpp +SRCS+= sanitizer_common/sanitizer_common_libcdep.cpp +SRCS+= sanitizer_common/sanitizer_deadlock_detector1.cpp +SRCS+= sanitizer_common/sanitizer_deadlock_detector2.cpp +SRCS+= sanitizer_common/sanitizer_errno.cpp +SRCS+= sanitizer_common/sanitizer_file.cpp +SRCS+= sanitizer_common/sanitizer_flag_parser.cpp +SRCS+= sanitizer_common/sanitizer_flags.cpp +SRCS+= sanitizer_common/sanitizer_libc.cpp +SRCS+= sanitizer_common/sanitizer_libignore.cpp +SRCS+= sanitizer_common/sanitizer_linux.cpp +SRCS+= sanitizer_common/sanitizer_linux_libcdep.cpp +SRCS+= sanitizer_common/sanitizer_mutex.cpp +SRCS+= sanitizer_common/sanitizer_platform_limits_freebsd.cpp +SRCS+= sanitizer_common/sanitizer_posix.cpp +SRCS+= sanitizer_common/sanitizer_posix_libcdep.cpp +SRCS+= sanitizer_common/sanitizer_printf.cpp +SRCS+= sanitizer_common/sanitizer_procmaps_bsd.cpp +SRCS+= sanitizer_common/sanitizer_procmaps_common.cpp +SRCS+= sanitizer_common/sanitizer_suppressions.cpp +SRCS+= sanitizer_common/sanitizer_termination.cpp +SRCS+= sanitizer_common/sanitizer_thread_arg_retval.cpp +SRCS+= sanitizer_common/sanitizer_thread_registry.cpp +SRCS+= sanitizer_common/sanitizer_tls_get_addr.cpp +SRCS+= sanitizer_common/sanitizer_type_traits.cpp +SRCS+= xray/xray_buffer_queue.cpp +SRCS+= xray/xray_flags.cpp +SRCS+= xray/xray_init.cpp +SRCS+= xray/xray_interface.cpp +SRCS+= xray/xray_log_interface.cpp +SRCS+= xray/xray_utils.cpp + +.if ${MACHINE_CPUARCH} == amd64 +SRCS+= xray/xray_trampoline_x86_64.S +SRCS+= xray/xray_x86_64.cpp +.endif # amd64 + +.if ${MACHINE_ARCH} == powerpc64le +SRCS+= xray/xray_powerpc64.cpp +SRCS+= xray/xray_trampoline_powerpc64.cpp +SRCS+= xray/xray_trampoline_powerpc64_asm.S +.endif # powerpc64le + +.PATH: ${CRTSRC}/include/xray +INCSDIR= ${CLANGDIR}/include/xray +INCS+= xray_interface.h +INCS+= xray_log_interface.h +INCS+= xray_records.h + +.include <bsd.lib.mk> |