Home | History | Annotate | Line # | Download | only in libasan
Makefile revision 1.15
      1 
      2 .include <bsd.own.mk>
      3 
      4 .include "../Makefile.inc"
      5 
      6 ASAN=${GCCDIST}/libsanitizer
      7 .PATH: ${ASAN}/asan ${ASAN}/interception ${ASAN}/sanitizer_common
      8 
      9 ASAN_SRCS= \
     10 asan_activation.cc \
     11 asan_allocator2.cc \
     12 asan_debugging.cc \
     13 asan_fake_stack.cc \
     14 asan_globals.cc \
     15 asan_interceptors.cc \
     16 asan_linux.cc \
     17 asan_mac.cc \
     18 asan_malloc_linux.cc \
     19 asan_malloc_mac.cc \
     20 asan_malloc_win.cc \
     21 asan_new_delete.cc \
     22 asan_poisoning.cc \
     23 asan_posix.cc \
     24 asan_report.cc \
     25 asan_rtl.cc \
     26 asan_stack.cc \
     27 asan_stats.cc \
     28 asan_thread.cc \
     29 asan_win.cc \
     30 asan_win_dll_thunk.cc \
     31 asan_win_dynamic_runtime_thunk.cc
     32 
     33 INTERCEPTION_SRCS= \
     34 interception_linux.cc \
     35 interception_mac.cc \
     36 interception_type_test.cc \
     37 interception_win.cc
     38 
     39 SANITIZER_SRCS= \
     40 sanitizer_allocator.cc \
     41 sanitizer_common.cc \
     42 sanitizer_common_libcdep.cc \
     43 sanitizer_coverage_libcdep.cc \
     44 sanitizer_coverage_mapping_libcdep.cc \
     45 sanitizer_deadlock_detector1.cc \
     46 sanitizer_deadlock_detector2.cc \
     47 sanitizer_flags.cc \
     48 sanitizer_libc.cc \
     49 sanitizer_libignore.cc \
     50 sanitizer_linux.cc \
     51 sanitizer_linux_libcdep.cc \
     52 sanitizer_mac.cc \
     53 sanitizer_persistent_allocator.cc \
     54 sanitizer_platform_limits_linux.cc \
     55 sanitizer_platform_limits_posix.cc \
     56 sanitizer_posix.cc \
     57 sanitizer_posix_libcdep.cc \
     58 sanitizer_printf.cc \
     59 sanitizer_procmaps_common.cc \
     60 sanitizer_procmaps_netbsd.cc \
     61 sanitizer_procmaps_freebsd.cc \
     62 sanitizer_procmaps_linux.cc \
     63 sanitizer_procmaps_mac.cc \
     64 sanitizer_stackdepot.cc \
     65 sanitizer_stacktrace.cc \
     66 sanitizer_stacktrace_libcdep.cc \
     67 sanitizer_stacktrace_printer.cc \
     68 sanitizer_stoptheworld_linux_libcdep.cc \
     69 sanitizer_suppressions.cc \
     70 sanitizer_symbolizer.cc \
     71 sanitizer_symbolizer_libbacktrace.cc \
     72 sanitizer_symbolizer_libcdep.cc \
     73 sanitizer_symbolizer_posix_libcdep.cc \
     74 sanitizer_symbolizer_win.cc \
     75 sanitizer_thread_registry.cc \
     76 sanitizer_tls_get_addr.cc \
     77 sanitizer_unwind_posix_libcdep.cc \
     78 sanitizer_win.cc
     79 
     80 # The linux build does this to avoid preinit sections on shared libraries
     81 CSHLIBFLAGS+= -DPIC
     82 
     83 LIB=	asan
     84 SRCS=	${ASAN_SRCS} ${INTERCEPTION_SRCS} ${SANITIZER_SRCS}
     85 CPPFLAGS+=-I${ASAN}/include -I${ASAN}
     86 CPPFLAGS.sanitizer_netbsd.cc+=-I${GCCDIST}/gcc/ginclude
     87 CPPFLAGS+=-D_DEBUG -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -DASAN_HAS_EXCEPTIONS=1 -DASAN_FLEXIBLE_MAPPING_AND_OFFSET=0 -DASAN_NEEDS_SEGV=1
     88 
     89 LIBDPLIBS+=    stdc++ ${.CURDIR}/../libstdc++-v3
     90 LIBDPLIBS+=    pthread ${.CURDIR}/../../../../../lib/libpthread
     91 COPTS+=-std=gnu++11 -fsized-deallocation -fvisibility=hidden
     92 COPTS+=-fno-builtin -fno-exceptions -fno-rtti -funwind-tables
     93 # Can't profile without it`
     94 #-fomit-frame-pointer
     95 
     96 .if ${MACHINE_ARCH} == "vax"
     97 COPTS.asan_allocator2.cc += -O1
     98 COPTS.sanitizer_mac.cc += -O1
     99 COPTS.sanitizer_netbsd.cc += -O1
    100 COPTS.sanitizer_printf.cc += -O1
    101 COPTS.sanitizer_stackdepot.cc += -O1
    102 .endif
    103 
    104 .include <bsd.lib.mk>
    105