aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDimitry Andric <dim@FreeBSD.org>2023-12-28 12:57:41 +0000
committerDimitry Andric <dim@FreeBSD.org>2024-01-01 16:41:43 +0000
commit5c95aeb90f70a66c75869fa0de44283c04bbd725 (patch)
tree5b148fe4d9872a0a61ffb19441dcf10b406c7f6f
parent3d96ee7c7dcc54995894985ef2beacc4c4f57956 (diff)
downloadsrc-5c95aeb90f70a66c75869fa0de44283c04bbd725.tar.gz
src-5c95aeb90f70a66c75869fa0de44283c04bbd725.zip
Reorganize libclang_rt Makefile and make more lib/arch combos available
Upstream has made more clang runtime libraries available for more architectures, so add them. To make this easier, split up subdir lists into functional parts (asan, tsan, etc), and put each architecture into its own .if block. Effectively, this adds the following libraries for aarch64: asan, cfi, fuzzer, msan, safestack, stats, tsan, ubsan, xray. PR: 262706 MFC after: 3 days (cherry picked from commit e77a1bb2757471ab3fed0750b76eeb15d0c7b10a)
-rw-r--r--lib/libclang_rt/Makefile161
1 files changed, 91 insertions, 70 deletions
diff --git a/lib/libclang_rt/Makefile b/lib/libclang_rt/Makefile
index 38275400ef3c..46f7fdf814be 100644
--- a/lib/libclang_rt/Makefile
+++ b/lib/libclang_rt/Makefile
@@ -1,74 +1,95 @@
-.if ${MACHINE_CPUARCH} == "amd64" || ${MACHINE_CPUARCH} == "i386"
-SUBDIR+= include
-SUBDIR+= asan
-SUBDIR+= asan-preinit
-SUBDIR+= asan_cxx
-SUBDIR+= asan_dynamic
-SUBDIR+= asan_static
-SUBDIR+= cfi
-SUBDIR+= cfi_diag
-SUBDIR+= safestack
-SUBDIR+= stats
-SUBDIR+= stats_client
-SUBDIR+= ubsan_minimal
-SUBDIR+= ubsan_standalone
-SUBDIR+= ubsan_standalone_cxx
-.endif # amd64 || i386
-
-.if ${MACHINE_CPUARCH} == "amd64"
-SUBDIR+= dd
-SUBDIR+= fuzzer
-SUBDIR+= fuzzer_interceptors
-SUBDIR+= fuzzer_no_main
-SUBDIR+= msan
-SUBDIR+= msan_cxx
-SUBDIR+= tsan
-SUBDIR+= tsan_cxx
-SUBDIR+= xray
-SUBDIR+= xray-basic
-SUBDIR+= xray-fdr
-SUBDIR+= xray-profiling
-.endif # amd64
-
-.if ${MACHINE_ARCH} == "powerpc64" || ${MACHINE_ARCH} == "powerpc64le"
-SUBDIR+= include
-SUBDIR+= asan
-SUBDIR+= asan-preinit
-SUBDIR+= asan_cxx
-SUBDIR+= asan_dynamic
-SUBDIR+= msan
-SUBDIR+= msan_cxx
-SUBDIR+= stats
-SUBDIR+= stats_client
-SUBDIR+= tsan
-SUBDIR+= tsan_cxx
-SUBDIR+= ubsan_minimal
-SUBDIR+= ubsan_standalone
-SUBDIR+= ubsan_standalone_cxx
-.endif # powerpc64 || powerpc64le
-
-.if ${MACHINE_ARCH} == "powerpc64le"
-SUBDIR+= xray
-SUBDIR+= xray-basic
-SUBDIR+= xray-fdr
-SUBDIR+= xray-profiling
-.endif # powerpc64le
-
-.if ${MACHINE_CPUARCH} == "riscv"
-SUBDIR+= include
-SUBDIR+= asan
-SUBDIR+= asan-preinit
-SUBDIR+= asan_cxx
-SUBDIR+= asan_dynamic
-SUBDIR+= stats
-SUBDIR+= stats_client
-SUBDIR+= ubsan_minimal
-SUBDIR+= ubsan_standalone
-SUBDIR+= ubsan_standalone_cxx
-.endif # riscv
-
-SUBDIR+= profile
+SD_ASAN+= asan
+SD_ASAN+= asan-preinit
+SD_ASAN+= asan_cxx
+SD_ASAN+= asan_dynamic
+SD_ASAN+= asan_static
+
+SD_CFI+= cfi
+SD_CFI+= cfi_diag
+
+SD_DD+= dd
+
+SD_FUZZER+= fuzzer
+SD_FUZZER+= fuzzer_interceptors
+SD_FUZZER+= fuzzer_no_main
+
+SD_INCLUDE+= include
+
+SD_MSAN+= msan
+SD_MSAN+= msan_cxx
+
+SD_PROFILE+= profile
+
+SD_SAFESTACK+= safestack
+
+SD_STATS+= stats
+SD_STATS+= stats_client
+
+SD_TSAN+= tsan
+SD_TSAN+= tsan_cxx
+
+SD_UBSAN+= ubsan_minimal
+SD_UBSAN+= ubsan_standalone
+SD_UBSAN+= ubsan_standalone_cxx
+
+SD_XRAY+= xray
+SD_XRAY+= xray-basic
+SD_XRAY+= xray-fdr
+SD_XRAY+= xray-profiling
+
+.if ${MACHINE_CPUARCH} == "aarch64"
+SUBDIR+= ${SD_ASAN}
+SUBDIR+= ${SD_CFI}
+SUBDIR+= ${SD_FUZZER}
+SUBDIR+= ${SD_MSAN}
+SUBDIR+= ${SD_SAFESTACK}
+SUBDIR+= ${SD_STATS}
+SUBDIR+= ${SD_TSAN}
+SUBDIR+= ${SD_UBSAN}
+SUBDIR+= ${SD_XRAY}
+.elif ${MACHINE_CPUARCH} == "amd64"
+SUBDIR+= ${SD_ASAN}
+SUBDIR+= ${SD_CFI}
+SUBDIR+= ${SD_DD}
+SUBDIR+= ${SD_FUZZER}
+SUBDIR+= ${SD_MSAN}
+SUBDIR+= ${SD_SAFESTACK}
+SUBDIR+= ${SD_STATS}
+SUBDIR+= ${SD_TSAN}
+SUBDIR+= ${SD_UBSAN}
+SUBDIR+= ${SD_XRAY}
+.elif ${MACHINE_CPUARCH} == "arm"
+# nothing for 32-bit arm
+.elif ${MACHINE_CPUARCH} == "i386"
+SUBDIR+= ${SD_ASAN}
+SUBDIR+= ${SD_CFI}
+SUBDIR+= ${SD_SAFESTACK}
+SUBDIR+= ${SD_STATS}
+SUBDIR+= ${SD_UBSAN}
+.elif ${MACHINE_CPUARCH} == "powerpc"
+# nothing for 32-bit powerpc
+.elif ${MACHINE_ARCH} == "powerpc64"
+SUBDIR+= ${SD_ASAN}
+SUBDIR+= ${SD_MSAN}
+SUBDIR+= ${SD_STATS}
+SUBDIR+= ${SD_TSAN}
+SUBDIR+= ${SD_UBSAN}
+.elif ${MACHINE_ARCH} == "powerpc64le"
+SUBDIR+= ${SD_ASAN}
+SUBDIR+= ${SD_MSAN}
+SUBDIR+= ${SD_STATS}
+SUBDIR+= ${SD_TSAN}
+SUBDIR+= ${SD_UBSAN}
+SUBDIR+= ${SD_XRAY}
+.elif ${MACHINE_CPUARCH} == "riscv"
+SUBDIR+= ${SD_ASAN}
+SUBDIR+= ${SD_STATS}
+SUBDIR+= ${SD_UBSAN}
+.endif
+
+SUBDIR+= ${SD_INCLUDE}
+SUBDIR+= ${SD_PROFILE}
SUBDIR_PARALLEL=