69 lines · plain
1import("//compiler-rt/target.gni")2 3static_library("msan") {4 configs -= [ "//llvm/utils/gn/build:llvm_code" ]5 configs += [ "//llvm/utils/gn/build:crt_code" ]6 7 output_dir = crt_current_out_dir8 assert(current_os == "linux", "MSan only works on Linux")9 output_name = "clang_rt.msan$crt_current_target_suffix"10 11 deps = [12 "//compiler-rt/lib/interception:sources",13 "//compiler-rt/lib/sanitizer_common:sources",14 "//compiler-rt/lib/ubsan:sources",15 ]16 17 complete_static_lib = true18 configs -= [ "//llvm/utils/gn/build:thin_archive" ]19 deps += [ ":msan_cxx" ]20 21 sources = [22 "msan.cpp",23 "msan.h",24 "msan_allocator.cpp",25 "msan_allocator.h",26 "msan_chained_origin_depot.cpp",27 "msan_chained_origin_depot.h",28 "msan_dl.cpp",29 "msan_dl.h",30 "msan_flags.h",31 "msan_flags.inc",32 "msan_interceptors.cpp",33 "msan_interface_internal.h",34 "msan_linux.cpp",35 "msan_origin.h",36 "msan_poisoning.cpp",37 "msan_poisoning.h",38 "msan_report.cpp",39 "msan_report.h",40 "msan_thread.cpp",41 "msan_thread.h",42 ]43 44 cflags = [ "-fPIE" ]45 46 # Prevent clang from generating libc calls.47 cflags += [ "-ffreestanding" ]48 49 # FIXME: link rt dl m pthread log50 # FIXME: need libclang_rt.msan*.a.syms?51 # FIXME: msan_ignorelist.txt52}53 54static_library("msan_cxx") {55 configs -= [ "//llvm/utils/gn/build:llvm_code" ]56 configs += [ "//llvm/utils/gn/build:crt_code" ]57 58 output_dir = crt_current_out_dir59 assert(current_os == "linux", "MSan only works on Linux")60 output_name = "clang_rt.msan_cxx$crt_current_target_suffix"61 62 complete_static_lib = true63 configs -= [ "//llvm/utils/gn/build:thin_archive" ]64 65 deps = [ "//compiler-rt/lib/ubsan:cxx_sources" ]66 67 sources = [ "msan_new_delete.cpp" ]68}69