diff options
author | Dimitry Andric <dim@FreeBSD.org> | 2023-12-28 12:57:41 +0000 |
---|---|---|
committer | Dimitry Andric <dim@FreeBSD.org> | 2023-12-28 12:57:41 +0000 |
commit | e77a1bb2757471ab3fed0750b76eeb15d0c7b10a (patch) | |
tree | 4b840d853f697e42843eba4ef0b1b77362455506 | |
parent | 789480702e490818244af11279868ba4f3dabe6b (diff) | |
download | src-e77a1bb2757471ab3fed0750b76eeb15d0c7b10a.tar.gz src-e77a1bb2757471ab3fed0750b76eeb15d0c7b10a.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
-rw-r--r-- | lib/libclang_rt/Makefile | 162 |
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= |