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:34:04 +0000
commit8334205c84cf8fb2006cc9dc9fdeecaa855242b3 (patch)
tree2c0616776efe6218568a3e6f8d5d4b46d33a1e4a
parentab71e3480921a8dec26a19d160a91c0531095418 (diff)
downloadsrc-8334205c84cf8fb2006cc9dc9fdeecaa855242b3.tar.gz
src-8334205c84cf8fb2006cc9dc9fdeecaa855242b3.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/Makefile162
1 files changed, 91 insertions, 71 deletions
diff --git a/lib/libclang_rt/Makefile b/lib/libclang_rt/Makefile
index 40fd7dfab8fb..46f7fdf814be 100644
--- a/lib/libclang_rt/Makefile
+++ b/lib/libclang_rt/Makefile
@@ -1,75 +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+= asan_static
-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=