1f8ca070dSDimitry Andric.include <bsd.init.mk> 2f8ca070dSDimitry Andric 3f8ca070dSDimitry AndricSHLIB_NAME= libclang_rt.asan-${CRTARCH}.so 4f8ca070dSDimitry Andric.undef NO_PIC # sorry... 5f8ca070dSDimitry Andric 6fb142d88SDimitry AndricCFLAGS+= -DASAN_DYNAMIC=1 7fb142d88SDimitry Andric 80af133f6SDimitry AndricSRCS+= asan/asan_activation.cpp 90af133f6SDimitry AndricSRCS+= asan/asan_allocator.cpp 100af133f6SDimitry AndricSRCS+= asan/asan_debugging.cpp 110af133f6SDimitry AndricSRCS+= asan/asan_descriptions.cpp 120af133f6SDimitry AndricSRCS+= asan/asan_errors.cpp 130af133f6SDimitry AndricSRCS+= asan/asan_fake_stack.cpp 140af133f6SDimitry AndricSRCS+= asan/asan_flags.cpp 150af133f6SDimitry AndricSRCS+= asan/asan_globals.cpp 160af133f6SDimitry AndricSRCS+= asan/asan_interceptors.cpp 170af133f6SDimitry AndricSRCS+= asan/asan_interceptors_memintrinsics.cpp 180af133f6SDimitry AndricSRCS+= asan/asan_linux.cpp 190af133f6SDimitry AndricSRCS+= asan/asan_malloc_linux.cpp 200af133f6SDimitry AndricSRCS+= asan/asan_memory_profile.cpp 210af133f6SDimitry AndricSRCS+= asan/asan_poisoning.cpp 220af133f6SDimitry AndricSRCS+= asan/asan_posix.cpp 23d56accc7SDimitry AndricSRCS+= asan/asan_preinit.cpp 240af133f6SDimitry AndricSRCS+= asan/asan_report.cpp 250af133f6SDimitry AndricSRCS+= asan/asan_rtl.cpp 260af133f6SDimitry AndricSRCS+= asan/asan_shadow_setup.cpp 270af133f6SDimitry AndricSRCS+= asan/asan_stack.cpp 280af133f6SDimitry AndricSRCS+= asan/asan_stats.cpp 290af133f6SDimitry AndricSRCS+= asan/asan_suppressions.cpp 300af133f6SDimitry AndricSRCS+= asan/asan_thread.cpp 310af133f6SDimitry AndricSRCS+= interception/interception_linux.cpp 32*5f757f3fSDimitry AndricSRCS+= lsan/lsan_common.cpp 330af133f6SDimitry AndricSRCS+= sanitizer_common/sancov_flags.cpp 340af133f6SDimitry AndricSRCS+= sanitizer_common/sanitizer_allocator.cpp 350af133f6SDimitry AndricSRCS+= sanitizer_common/sanitizer_allocator_checks.cpp 360af133f6SDimitry AndricSRCS+= sanitizer_common/sanitizer_allocator_report.cpp 376e75b2fbSDimitry AndricSRCS+= sanitizer_common/sanitizer_chained_origin_depot.cpp 380af133f6SDimitry AndricSRCS+= sanitizer_common/sanitizer_common.cpp 390af133f6SDimitry AndricSRCS+= sanitizer_common/sanitizer_common_libcdep.cpp 400af133f6SDimitry AndricSRCS+= sanitizer_common/sanitizer_coverage_libcdep_new.cpp 410af133f6SDimitry AndricSRCS+= sanitizer_common/sanitizer_deadlock_detector1.cpp 42*5f757f3fSDimitry AndricSRCS+= sanitizer_common/sanitizer_dl.cpp 430af133f6SDimitry AndricSRCS+= sanitizer_common/sanitizer_errno.cpp 440af133f6SDimitry AndricSRCS+= sanitizer_common/sanitizer_file.cpp 450af133f6SDimitry AndricSRCS+= sanitizer_common/sanitizer_flag_parser.cpp 460af133f6SDimitry AndricSRCS+= sanitizer_common/sanitizer_flags.cpp 470af133f6SDimitry AndricSRCS+= sanitizer_common/sanitizer_libc.cpp 480af133f6SDimitry AndricSRCS+= sanitizer_common/sanitizer_libignore.cpp 490af133f6SDimitry AndricSRCS+= sanitizer_common/sanitizer_linux.cpp 500af133f6SDimitry AndricSRCS+= sanitizer_common/sanitizer_linux_libcdep.cpp 516e75b2fbSDimitry AndricSRCS+= sanitizer_common/sanitizer_mutex.cpp 520af133f6SDimitry AndricSRCS+= sanitizer_common/sanitizer_platform_limits_freebsd.cpp 530af133f6SDimitry AndricSRCS+= sanitizer_common/sanitizer_posix.cpp 540af133f6SDimitry AndricSRCS+= sanitizer_common/sanitizer_posix_libcdep.cpp 550af133f6SDimitry AndricSRCS+= sanitizer_common/sanitizer_printf.cpp 560af133f6SDimitry AndricSRCS+= sanitizer_common/sanitizer_procmaps_bsd.cpp 570af133f6SDimitry AndricSRCS+= sanitizer_common/sanitizer_procmaps_common.cpp 58*5f757f3fSDimitry AndricSRCS+= sanitizer_common/sanitizer_range.cpp 595e801ac6SDimitry AndricSRCS+= sanitizer_common/sanitizer_stack_store.cpp 600af133f6SDimitry AndricSRCS+= sanitizer_common/sanitizer_stackdepot.cpp 610af133f6SDimitry AndricSRCS+= sanitizer_common/sanitizer_stacktrace.cpp 620af133f6SDimitry AndricSRCS+= sanitizer_common/sanitizer_stacktrace_libcdep.cpp 630af133f6SDimitry AndricSRCS+= sanitizer_common/sanitizer_stacktrace_printer.cpp 640af133f6SDimitry AndricSRCS+= sanitizer_common/sanitizer_suppressions.cpp 650af133f6SDimitry AndricSRCS+= sanitizer_common/sanitizer_symbolizer.cpp 660af133f6SDimitry AndricSRCS+= sanitizer_common/sanitizer_symbolizer_libbacktrace.cpp 670af133f6SDimitry AndricSRCS+= sanitizer_common/sanitizer_symbolizer_libcdep.cpp 68*5f757f3fSDimitry AndricSRCS+= sanitizer_common/sanitizer_symbolizer_markup.cpp 690af133f6SDimitry AndricSRCS+= sanitizer_common/sanitizer_symbolizer_posix_libcdep.cpp 700af133f6SDimitry AndricSRCS+= sanitizer_common/sanitizer_symbolizer_report.cpp 710af133f6SDimitry AndricSRCS+= sanitizer_common/sanitizer_termination.cpp 720c3af239SDimitry AndricSRCS+= sanitizer_common/sanitizer_thread_arg_retval.cpp 730af133f6SDimitry AndricSRCS+= sanitizer_common/sanitizer_thread_registry.cpp 740af133f6SDimitry AndricSRCS+= sanitizer_common/sanitizer_tls_get_addr.cpp 750af133f6SDimitry AndricSRCS+= sanitizer_common/sanitizer_type_traits.cpp 760af133f6SDimitry AndricSRCS+= sanitizer_common/sanitizer_unwind_linux_libcdep.cpp 770af133f6SDimitry AndricSRCS+= ubsan/ubsan_diag.cpp 780af133f6SDimitry AndricSRCS+= ubsan/ubsan_flags.cpp 790af133f6SDimitry AndricSRCS+= ubsan/ubsan_handlers.cpp 800af133f6SDimitry AndricSRCS+= ubsan/ubsan_init.cpp 810af133f6SDimitry AndricSRCS+= ubsan/ubsan_monitor.cpp 820af133f6SDimitry AndricSRCS+= ubsan/ubsan_value.cpp 83f8ca070dSDimitry Andric 84f8ca070dSDimitry Andric# Kludge around a bsd.lib.mk shortcoming: when SHLIB_NAME is defined, but LIB 85f8ca070dSDimitry Andric# and LIB_CXX are undefined (which forces building only a shared library), 86f8ca070dSDimitry Andric# there is no way to tell it to use ${CXX} for linking. Since the files for 87f8ca070dSDimitry Andric# this library are all C++ anyway, simply set CC to CXX. 88f8ca070dSDimitry AndricCC= ${CXX} 89f8ca070dSDimitry Andric 90f8ca070dSDimitry Andric.include <bsd.lib.mk> 91