[llvm] 6d17254 - [gn build] Add ubsan libraries
Arthur Eubanks via llvm-commits
llvm-commits at lists.llvm.org
Mon Aug 15 13:55:56 PDT 2022
Author: Arthur Eubanks
Date: 2022-08-15T13:55:36-07:00
New Revision: 6d17254df4e70f75e0a194871e068bb01e3d4954
URL: https://github.com/llvm/llvm-project/commit/6d17254df4e70f75e0a194871e068bb01e3d4954
DIFF: https://github.com/llvm/llvm-project/commit/6d17254df4e70f75e0a194871e068bb01e3d4954.diff
LOG: [gn build] Add ubsan libraries
clang -fsanitize=undefined works with this.
Reviewed By: thakis
Differential Revision: https://reviews.llvm.org/D131916
Added:
Modified:
llvm/utils/gn/secondary/compiler-rt/lib/BUILD.gn
llvm/utils/gn/secondary/compiler-rt/lib/ubsan/BUILD.gn
Removed:
################################################################################
diff --git a/llvm/utils/gn/secondary/compiler-rt/lib/BUILD.gn b/llvm/utils/gn/secondary/compiler-rt/lib/BUILD.gn
index 52c6431f1f67b..324ec38be812a 100644
--- a/llvm/utils/gn/secondary/compiler-rt/lib/BUILD.gn
+++ b/llvm/utils/gn/secondary/compiler-rt/lib/BUILD.gn
@@ -7,7 +7,10 @@ group("lib") {
deps += [ "//compiler-rt/lib/msan" ]
}
if (current_os == "linux" || current_os == "android") {
- deps += [ "//compiler-rt/lib/ubsan_minimal" ]
+ deps += [
+ "//compiler-rt/lib/ubsan",
+ "//compiler-rt/lib/ubsan_minimal",
+ ]
}
if (current_os != "win" && current_os != "baremetal") {
deps += [ "//compiler-rt/lib/asan" ]
diff --git a/llvm/utils/gn/secondary/compiler-rt/lib/ubsan/BUILD.gn b/llvm/utils/gn/secondary/compiler-rt/lib/ubsan/BUILD.gn
index 35b4c20315753..6679523dd2be9 100644
--- a/llvm/utils/gn/secondary/compiler-rt/lib/ubsan/BUILD.gn
+++ b/llvm/utils/gn/secondary/compiler-rt/lib/ubsan/BUILD.gn
@@ -1,3 +1,12 @@
+import("//compiler-rt/target.gni")
+
+group("ubsan") {
+ deps = [
+ ":ubsan_standalone",
+ ":ubsan_standalone_cxx",
+ ]
+}
+
source_set("sources") {
configs -= [ "//llvm/utils/gn/build:llvm_code" ]
configs += [ "//llvm/utils/gn/build:crt_code" ]
@@ -46,7 +55,6 @@ source_set("dynamic_runtime_thunk") {
sources = [ "ubsan_win_dynamic_runtime_thunk.cpp" ]
}
-# Unreferenced; at the moment exists to make sync_source_lists_from_cmake happy.
source_set("standalone_sources") {
configs -= [ "//llvm/utils/gn/build:llvm_code" ]
configs -= [ "//llvm/utils/gn/build:no_rtti" ]
@@ -57,6 +65,11 @@ source_set("standalone_sources") {
"ubsan_init_standalone.cpp",
"ubsan_signals_standalone.cpp",
]
+ deps = [
+ ":sources",
+ "//compiler-rt/lib/interception:sources",
+ "//compiler-rt/lib/sanitizer_common:sources",
+ ]
}
source_set("cxx_sources") {
@@ -72,3 +85,31 @@ source_set("cxx_sources") {
"ubsan_type_hash_win.cpp",
]
}
+
+static_library("ubsan_standalone") {
+ output_dir = crt_current_out_dir
+ output_name = "clang_rt.ubsan_standalone$crt_current_target_suffix"
+ complete_static_lib = true
+ configs -= [
+ "//llvm/utils/gn/build:llvm_code",
+ "//llvm/utils/gn/build:thin_archive",
+ ]
+ deps = [
+ ":sources",
+ ":standalone_sources",
+ ]
+ configs += [ "//llvm/utils/gn/build:crt_code" ]
+ sources = [ "ubsan_init_standalone_preinit.cpp" ]
+}
+
+static_library("ubsan_standalone_cxx") {
+ output_dir = crt_current_out_dir
+ output_name = "clang_rt.ubsan_standalone_cxx$crt_current_target_suffix"
+ complete_static_lib = true
+ configs -= [
+ "//llvm/utils/gn/build:llvm_code",
+ "//llvm/utils/gn/build:thin_archive",
+ ]
+ deps = [ ":cxx_sources" ]
+ configs += [ "//llvm/utils/gn/build:crt_code" ]
+}
More information about the llvm-commits
mailing list