brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.7 KiB · b2ee2f6 Raw
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