+++ /dev/null
-import("//compiler-rt/target.gni")
-
-template("gen_version_script") {
- if (current_os != "mac" && current_os != "win") {
- action(target_name) {
- script = "//compiler-rt/lib/sanitizer_common/scripts/gen_dynamic_list.py"
- sources = [ invoker.extra ]
- deps = invoker.libs
- outputs = [ invoker.output ]
- args = [
- "--version-list",
- "--extra",
- rebase_path(invoker.extra, root_build_dir),
- ]
- foreach(lib_name, invoker.lib_names) {
- args += [ rebase_path(
- "$crt_current_out_dir/libclang_rt.$lib_name$crt_current_target_suffix.a",
- root_build_dir) ]
- }
- args += [
- "--nm-executable",
- "nm",
- "-o",
- rebase_path(invoker.output, root_build_dir),
- ]
- }
- }
-}
-import("//compiler-rt/gen_version_script.gni")
import("//compiler-rt/target.gni")
if (current_cpu == "x64") {
hwasan_name = "hwasan"
}
-gen_version_script("version_script") {
- extra = "hwasan.syms.extra"
- output = "$target_gen_dir/hwasan.vers"
- libs = [
+action("version_script") {
+ script = "//compiler-rt/lib/sanitizer_common/scripts/gen_dynamic_list.py"
+ sources = [ "hwasan.syms.extra" ]
+ deps = [
":hwasan",
":hwasan_cxx",
]
- lib_names = [
- "$hwasan_name",
- "${hwasan_name}_cxx",
+ outputs = [ "$target_gen_dir/hwasan.vers" ]
+ args = [
+ "--version-list",
+ "--extra",
+ rebase_path(sources[0], root_build_dir),
+ rebase_path(
+ "$crt_current_out_dir/libclang_rt.$hwasan_name$crt_current_target_suffix.a",
+ root_build_dir),
+ rebase_path(
+ "$crt_current_out_dir/libclang_rt.${hwasan_name}_cxx$crt_current_target_suffix.a",
+ root_build_dir),
+ "--nm-executable",
+ "nm",
+ "-o",
+ rebase_path(outputs[0], root_build_dir),
]
}
-import("//compiler-rt/gen_version_script.gni")
-import("//compiler-rt/target.gni")
-
-gen_version_script("version_script") {
- extra = "ubsan.syms.extra"
- output = "$target_gen_dir/ubsan.vers"
- libs = [
- ":ubsan",
- ":ubsan_cxx",
- ]
- lib_names = [
- "ubsan_standalone",
- "ubsan_standalone_cxx",
- ]
-}
-
source_set("sources") {
configs -= [ "//llvm/utils/gn/build:llvm_code" ]
configs += [ "//llvm/utils/gn/build:crt_code" ]
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" ]
"ubsan_type_hash_win.cpp",
]
}
-
-static_library("ubsan") {
- 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",
- ]
- configs += [ "//llvm/utils/gn/build:crt_code" ]
- deps = [
- ":sources",
- ":standalone_sources",
- ]
-}
-
-static_library("ubsan_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",
- ]
- configs += [ "//llvm/utils/gn/build:crt_code" ]
- deps = [ ":cxx_sources" ]
-}
-
-shared_library("ubsan_shared") {
- output_dir = crt_current_out_dir
- output_name = "clang_rt.ubsan_standalone$crt_current_target_suffix"
- configs -= [ "//llvm/utils/gn/build:llvm_code" ]
- configs += [ "//llvm/utils/gn/build:crt_code" ]
- deps = [
- ":cxx_sources",
- ":sources",
- ":standalone_sources",
- ":version_script",
- ]
- inputs = [ "$target_gen_dir/ubsan.vers" ]
- ldflags = [ "-Wl,--version-script," + rebase_path(inputs[0], root_build_dir) ]
-}