1
+ import (" //compiler-rt/target.gni" )
2
+
3
+ group (" ubsan" ) {
4
+ deps = [
5
+ " :ubsan_standalone" ,
6
+ " :ubsan_standalone_cxx" ,
7
+ ]
8
+ }
9
+
1
10
source_set (" sources" ) {
2
11
configs -= [ " //llvm/utils/gn/build:llvm_code" ]
3
12
configs += [ " //llvm/utils/gn/build:crt_code" ]
@@ -46,7 +55,6 @@ source_set("dynamic_runtime_thunk") {
46
55
sources = [ " ubsan_win_dynamic_runtime_thunk.cpp" ]
47
56
}
48
57
49
- # Unreferenced; at the moment exists to make sync_source_lists_from_cmake happy.
50
58
source_set (" standalone_sources" ) {
51
59
configs -= [ " //llvm/utils/gn/build:llvm_code" ]
52
60
configs -= [ " //llvm/utils/gn/build:no_rtti" ]
@@ -57,6 +65,11 @@ source_set("standalone_sources") {
57
65
" ubsan_init_standalone.cpp" ,
58
66
" ubsan_signals_standalone.cpp" ,
59
67
]
68
+ deps = [
69
+ " :sources" ,
70
+ " //compiler-rt/lib/interception:sources" ,
71
+ " //compiler-rt/lib/sanitizer_common:sources" ,
72
+ ]
60
73
}
61
74
62
75
source_set (" cxx_sources" ) {
@@ -72,3 +85,31 @@ source_set("cxx_sources") {
72
85
" ubsan_type_hash_win.cpp" ,
73
86
]
74
87
}
88
+
89
+ static_library (" ubsan_standalone" ) {
90
+ output_dir = crt_current_out_dir
91
+ output_name = " clang_rt.ubsan_standalone$crt_current_target_suffix "
92
+ complete_static_lib = true
93
+ configs -= [
94
+ " //llvm/utils/gn/build:llvm_code" ,
95
+ " //llvm/utils/gn/build:thin_archive" ,
96
+ ]
97
+ deps = [
98
+ " :sources" ,
99
+ " :standalone_sources" ,
100
+ ]
101
+ configs += [ " //llvm/utils/gn/build:crt_code" ]
102
+ sources = [ " ubsan_init_standalone_preinit.cpp" ]
103
+ }
104
+
105
+ static_library (" ubsan_standalone_cxx" ) {
106
+ output_dir = crt_current_out_dir
107
+ output_name = " clang_rt.ubsan_standalone_cxx$crt_current_target_suffix "
108
+ complete_static_lib = true
109
+ configs -= [
110
+ " //llvm/utils/gn/build:llvm_code" ,
111
+ " //llvm/utils/gn/build:thin_archive" ,
112
+ ]
113
+ deps = [ " :cxx_sources" ]
114
+ configs += [ " //llvm/utils/gn/build:crt_code" ]
115
+ }
0 commit comments