diff options
author | V3n3RiX <venerix@koprulu.sector> | 2024-06-16 00:09:44 +0100 |
---|---|---|
committer | V3n3RiX <venerix@koprulu.sector> | 2024-06-16 00:09:44 +0100 |
commit | 0a3feeaba4dbc58966dccdbbfcd7fb14deef0831 (patch) | |
tree | d48a200142b883af377722ab54ec0c1d8c19912f /sys-libs/compiler-rt-sanitizers | |
parent | 6a7029e0f7370d4d5dfe9e31cc2719a870482392 (diff) |
gentoo auto-resync : 16:06:2024 - 00:09:44
Diffstat (limited to 'sys-libs/compiler-rt-sanitizers')
-rw-r--r-- | sys-libs/compiler-rt-sanitizers/Manifest | 9 | ||||
-rw-r--r-- | sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-18.1.6.ebuild | 218 | ||||
-rw-r--r-- | sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-19.0.0_pre20240518.ebuild | 220 | ||||
-rw-r--r-- | sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-19.0.0_pre20240615.ebuild (renamed from sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-19.0.0_pre20240525.ebuild) | 0 |
4 files changed, 2 insertions, 445 deletions
diff --git a/sys-libs/compiler-rt-sanitizers/Manifest b/sys-libs/compiler-rt-sanitizers/Manifest index da6a45d2a9e6..8da8715c9cc5 100644 --- a/sys-libs/compiler-rt-sanitizers/Manifest +++ b/sys-libs/compiler-rt-sanitizers/Manifest @@ -5,20 +5,15 @@ DIST llvm-project-16.0.6.src.tar.xz 118013488 BLAKE2B 95192d39cbd2914e5609db3659 DIST llvm-project-16.0.6.src.tar.xz.sig 566 BLAKE2B 2060cebd5ed57cb8a86a44238c43dfd4b921649298b10c3d19da308374c1e49869174294e29943c2af459fe06428264e26881d6c1288ebbc48686cc2cf467c7a SHA512 ca249262c7102e0889ec1bdc6f71a3a6f0e7e5d5fbab8abcd6fccd2871e7955eff7af5b055a76006097baf0dfaf2f5069eff3035b3107fc552abdb2481b21447 DIST llvm-project-17.0.6.src.tar.xz 127838860 BLAKE2B d6ede1a9fda8756995c3e0654111941649e15794179641806f18919f1dc68c41ca0cabd5693b5096d05dccc3a391cd20d34af1137bf8af92ed3117a1ce84d1b2 SHA512 6d85bf749e0d77553cc215cbfa61cec4ac4f4f652847f56f946b6a892a99a5ea40b6ab8b39a9708a035001f007986941ccf17e4635260a8b0c1fa59e78d41e30 DIST llvm-project-17.0.6.src.tar.xz.sig 438 BLAKE2B 186e75b6a0fbfe1e85408589c149e1800fcc47d685b74e4260018e05cd08bc793d1d1197c9c50e177eea941a3d0c65cb0c583ce6dae449099b920adf8a508ef7 SHA512 f78c55053a6450625f3e95f52c305110b4468a9854fec75831b65b8d6ceee3c9206ab9e63c4b5fda8be9bd344f72cfbdaae0520ed240abd505e08ebeaa25d340 -DIST llvm-project-18.1.6.src.tar.xz 132064976 BLAKE2B d38d8026068de371dc4bc288c68c8e441a126cf8e89e55a965f3b9e3a629a37d5743fd7859a60bedaddf27ff2da1e0f08c81806871ef542cb7c3f40b23b22cf5 SHA512 89ec276aa41bb2d76cfc3a72d8e728a9ce9176e02c085338b704790524fe329904cf311381805814faa8a6c79637620c01627bf122a51f89e0f3adb47e5df34c -DIST llvm-project-18.1.6.src.tar.xz.sig 566 BLAKE2B 4b4a1ec2f084b0728134b9c04775db5938e571f1d7c7aa45b985bed490dcfd2cceab2069a43d4ce7766faec703310a376b83565af317e5f60bf10bc06a732395 SHA512 fbae037d39f4f1c13babafd42dee719f3d79f0e2142cc319f59fb319361a1db8ce65fa736a0e2a5e702ac49e3b8323374be6cfa1003f96b0887fa1894e2b6dee DIST llvm-project-18.1.7.src.tar.xz 132063384 BLAKE2B b8c37bd131fb5f3131bfab4fbad7aa811079ca10723faa14779253bc62b1ee08d4e04650e1da883297ed88a62d518b868a1f13cf57d03233254fd01209da5c02 SHA512 0f67818267803aca9d2bc9eb89335ee6dc56269e8066a0f8a48c4a959e8805dbf6bc839b9f96a92f86ee50d72e7cc326ffe18febb5eb06751ab54a217c0221c8 DIST llvm-project-18.1.7.src.tar.xz.sig 566 BLAKE2B 9ae6d80eba5309ce3d5cba580df57c28dbcf429266b2ced622465e34ab2a7ae0f100d1e89c73a44abccd95a3367979344450fd53fb6a2baa029b929d3f13eee3 SHA512 7e5601e35f4fcaa4ed042638ae5a4fb90714c9dce58aa3f98e965568660b88294185621a4eb5547de262dca8a96f620db3f94932bb1776661e345dbe1266315c DIST llvm-project-5aabbf0602c48b67bb89fd37f95bf97c95ded488.tar.gz 212582616 BLAKE2B 78522148bb4993bd26b16f1e3f44c2baf617705667c7fb104edc844c4330017166c783adae2f0215ca7463c05d1eef30fdf02b13241a9497aaede36bb8580a26 SHA512 104e0b5b4f34102f2da03cd54fe9bf5f7fb6efb3a9745d8ec85caa5f92189fde4a5c02c327243d87ff5c7d24b3790fcabdf0ef7144e79e15765785ca72dd3841 -DIST llvm-project-702198fc9ac5dba392f9d9ba7c56467996343c0a.tar.gz 211764675 BLAKE2B b28203faf5c4e51236da3e3abac969cffe6f93ce6757a81b5a577187ec236fc0b124fe6a370d1f4e803deab781606a7caf0b411780cc84ee08a8de942c4fc479 SHA512 b4217403abf4166eb8eccfd304bcaa2e15d5b67c4f996d51e0745d197e4b9eda1dd5a5b1d7c384effc25f53bb1229edda9618e172abe3be1a94a9569f7c5b0b7 -DIST llvm-project-7dc2f6602212bf0a0433c157b70e4fc0d70bb730.tar.gz 211903416 BLAKE2B 4a2f12e0aa234d507d2fc2136a1d98a7624147ce6e401831743e640abcaceb5152c80ba2dc312f9256e4a04be2ad065d1a57dbe5dc24f2d3edc9d65888986710 SHA512 c9eb99f666fc15b29f01a1b2a4b3c6edd3a726033533111e60763c6313a4af8c9dba3396856d6650ac5e666d00941efcc944fac85a4483748bbbea9475e6daf8 +DIST llvm-project-cddb9ce04e68d876de895d39d60b6af34d569012.tar.gz 213219536 BLAKE2B 5aba2c1dd19d73a8691590873f1697fa32adeab7f84d1d5636e211071e64bfa5d28a49ea9cfdba5fbae77c9520c2103a9f1544d669c7948a318636557f45f6ee SHA512 69ed25a0565c61cd4eb512e95b0fd2d2a3a09dbad73e7186d7fb1764193b06e522572eafb271d21469a4bfb133a62efe65e5ccd20cf05af8b43c52e195d477a9 EBUILD compiler-rt-sanitizers-15.0.7.ebuild 6648 BLAKE2B 89d90e750bc9c3c35e8a42a259fd84bc147ed9b7ed66168435f0010ef8adaf35e04e2cd43c1acc144668e04f5c229ca3cfd99aeb01b4ba2e46f10dd4615e131d SHA512 4f290993d65b7a17280c5ea9a9d19e13cefdde3aebc2236271e02bb1517655895e8eb3adc2047a849ce11dbacf8d7eddec715ab14523122089d856c21ae123a0 EBUILD compiler-rt-sanitizers-16.0.6.ebuild 6615 BLAKE2B 3ca63eefd87ce02510afa912e809895da7356a8e248f402f3fca1583048feebf80cba20f076e1b28fa4ad7f7c06781910948fc49d980b03276a900dc75114e06 SHA512 7f34e0416b520c75457f8267f28630f7a665f05e22d3f5c2d96ea631fcda79a584b6c0e75cba8b7fba7bf28b87a6b19b49be3b4b8770393caabc5ebc83831ebe EBUILD compiler-rt-sanitizers-17.0.6.ebuild 6447 BLAKE2B 553a762d6dd06dafca05953f4d60e5e3dd215d813da29053d5c4c44750554e3ed90c187390196eeee3bc85bb1e3fbdac7aa2e100b623271898478003792a1302 SHA512 6beaa92bf1ba5213dc9c73395ecdae737f1a84119da6e3f8f008f9f21cf7d7b08b3634ad8768af6b19992fd49d964344c7d37e19b7c7bfec02af644bdc730bbd -EBUILD compiler-rt-sanitizers-18.1.6.ebuild 6358 BLAKE2B d68fe00a7d79a022d2c66f03d1987491c7d382158426a5f27923f84df05cf5d27697abacad984e94a5b5f333bcd1e60d080ebbc4708f4abe77086bc777aeaaf5 SHA512 fcaf7d7203ede21db563de3b24bbf4d2939856913ba5ee3fff4f29eef18d6e93789791bc3e0d0b4ecd761fd7e8772b3a9f7ea5149300a22f99ee46e6caafbcd9 EBUILD compiler-rt-sanitizers-18.1.7.ebuild 6358 BLAKE2B 1a191c1e493b3a596a68314c4c930d12e900869bbd2a7488d9edfef723ad2f154e577758cd523465a65c3aa64da3ac79c0582eb812f45079442557837d988c8d SHA512 923d388eb43f27a0bd28bda7b405cf74bbd6810faa17272ee0889b89e2f832be71fb32e7b721cdedb7e7d4717af1eca69c9054bfcabf7d56fd2375cb7458d4cb EBUILD compiler-rt-sanitizers-19.0.0.9999.ebuild 6366 BLAKE2B 4e6459ee51444413b05b661deedbe0f3543f71f6e05349a3a7f4a6352897ee7ea8a62a8ec4a26c5c31a4ba21e68b045b3e37d9e2530ad51519a9f7d2a455342c SHA512 c7ec9377a079c30b3460a7201482b5183ab35755824a7d1c81d90dc2c519a6e2410c0f51fdb4719b8239ee841c162b20ad1cf191068a27a8f13664cad4aa1ca9 -EBUILD compiler-rt-sanitizers-19.0.0_pre20240518.ebuild 6366 BLAKE2B 1be7b5b920c35f8922f29640e074a2d5603114ccc0120b51edab59a4160bf88c0f6fc06b5cee1f99f11f2eaf82dd1b8c1bcd91d3f135012c5a965f0cf5f1bb6e SHA512 793f8d3642034024acabc720772d0f38dcfe775766765ab83cd000e230bf30d7a00bee29e23202e4706c28f2265938ba1ec3cd3c1589f4153252e73208e3072e -EBUILD compiler-rt-sanitizers-19.0.0_pre20240525.ebuild 6366 BLAKE2B 4e6459ee51444413b05b661deedbe0f3543f71f6e05349a3a7f4a6352897ee7ea8a62a8ec4a26c5c31a4ba21e68b045b3e37d9e2530ad51519a9f7d2a455342c SHA512 c7ec9377a079c30b3460a7201482b5183ab35755824a7d1c81d90dc2c519a6e2410c0f51fdb4719b8239ee841c162b20ad1cf191068a27a8f13664cad4aa1ca9 EBUILD compiler-rt-sanitizers-19.0.0_pre20240608.ebuild 6366 BLAKE2B 4e6459ee51444413b05b661deedbe0f3543f71f6e05349a3a7f4a6352897ee7ea8a62a8ec4a26c5c31a4ba21e68b045b3e37d9e2530ad51519a9f7d2a455342c SHA512 c7ec9377a079c30b3460a7201482b5183ab35755824a7d1c81d90dc2c519a6e2410c0f51fdb4719b8239ee841c162b20ad1cf191068a27a8f13664cad4aa1ca9 +EBUILD compiler-rt-sanitizers-19.0.0_pre20240615.ebuild 6366 BLAKE2B 4e6459ee51444413b05b661deedbe0f3543f71f6e05349a3a7f4a6352897ee7ea8a62a8ec4a26c5c31a4ba21e68b045b3e37d9e2530ad51519a9f7d2a455342c SHA512 c7ec9377a079c30b3460a7201482b5183ab35755824a7d1c81d90dc2c519a6e2410c0f51fdb4719b8239ee841c162b20ad1cf191068a27a8f13664cad4aa1ca9 MISC metadata.xml 1475 BLAKE2B f7ea99e3103e42a2c79fe6c86ad174297e56bcffa7b164ac3ab0a239ba5adf2265b7fc458ce8b22c9c3bd647bb03d674abf842443cb32bf8d88c683746650a19 SHA512 8e52479d3b040718a3fdaa811030bc45ef33ce74daae3e365281074cdf6d586ba11ae5f14d87dbb456f00fe4b9ae6057f3bf30eb0973cc16cbdcc3eba01ff9f8 diff --git a/sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-18.1.6.ebuild b/sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-18.1.6.ebuild deleted file mode 100644 index 192ead8311f8..000000000000 --- a/sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-18.1.6.ebuild +++ /dev/null @@ -1,218 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -PYTHON_COMPAT=( python3_{10..12} ) -inherit check-reqs cmake flag-o-matic llvm.org llvm-utils python-any-r1 - -DESCRIPTION="Compiler runtime libraries for clang (sanitizers & xray)" -HOMEPAGE="https://llvm.org/" - -LICENSE="Apache-2.0-with-LLVM-exceptions || ( UoI-NCSA MIT )" -SLOT="${LLVM_MAJOR}" -KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv ~x86 ~amd64-linux ~ppc-macos ~x64-macos" -IUSE="+abi_x86_32 abi_x86_64 +clang debug test" -# base targets -IUSE+=" +libfuzzer +memprof +orc +profile +xray" -# sanitizer targets, keep in sync with config-ix.cmake -# NB: ubsan, scudo deliberately match two entries -SANITIZER_FLAGS=( - asan dfsan lsan msan hwasan tsan ubsan safestack cfi scudo - shadowcallstack gwp-asan -) -IUSE+=" ${SANITIZER_FLAGS[@]/#/+}" -REQUIRED_USE=" - || ( ${SANITIZER_FLAGS[*]} libfuzzer orc profile xray ) - test? ( - cfi? ( ubsan ) - gwp-asan? ( scudo ) - ) -" -RESTRICT=" - !clang? ( test ) - !test? ( test ) -" - -DEPEND=" - sys-devel/llvm:${LLVM_MAJOR} - virtual/libcrypt[abi_x86_32(-)?,abi_x86_64(-)?] -" -BDEPEND=" - clang? ( sys-devel/clang ) - elibc_glibc? ( net-libs/libtirpc ) - test? ( - $(python_gen_any_dep ">=dev-python/lit-15[\${PYTHON_USEDEP}]") - =sys-devel/clang-${LLVM_VERSION}*:${LLVM_MAJOR} - sys-libs/compiler-rt:${LLVM_MAJOR} - ) - !test? ( - ${PYTHON_DEPS} - ) -" - -LLVM_COMPONENTS=( compiler-rt cmake llvm/cmake ) -LLVM_TEST_COMPONENTS=( llvm/lib/Testing/Support third-party ) -llvm.org_set_globals - -python_check_deps() { - use test || return 0 - python_has_version ">=dev-python/lit-15[${PYTHON_USEDEP}]" -} - -check_space() { - if use test; then - local CHECKREQS_DISK_BUILD=11G - check-reqs_pkg_pretend - fi -} - -pkg_pretend() { - check_space -} - -pkg_setup() { - check_space - python-any-r1_pkg_setup -} - -src_prepare() { - sed -i -e 's:-Werror::' lib/tsan/go/buildgo.sh || die - - local flag - for flag in "${SANITIZER_FLAGS[@]}"; do - if ! use "${flag}"; then - local cmake_flag=${flag/-/_} - sed -i -e "/COMPILER_RT_HAS_${cmake_flag^^}/s:TRUE:FALSE:" \ - cmake/config-ix.cmake || die - fi - done - - # TODO: fix these tests to be skipped upstream - if use asan && ! use profile; then - rm test/asan/TestCases/asan_and_llvm_coverage_test.cpp || die - fi - if use ubsan && ! use cfi; then - > test/cfi/CMakeLists.txt || die - fi - # hangs, sigh - rm test/tsan/getline_nohang.cpp || die - - llvm.org_src_prepare -} - -src_configure() { - llvm_prepend_path "${LLVM_MAJOR}" - - # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844 - use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG" - - # pre-set since we need to pass it to cmake - BUILD_DIR=${WORKDIR}/compiler-rt_build - - if use clang; then - local -x CC=${CHOST}-clang - local -x CXX=${CHOST}-clang++ - strip-unsupported-flags - fi - - local flag want_sanitizer=OFF - for flag in "${SANITIZER_FLAGS[@]}"; do - if use "${flag}"; then - want_sanitizer=ON - break - fi - done - - local mycmakeargs=( - -DCOMPILER_RT_INSTALL_PATH="${EPREFIX}/usr/lib/clang/${LLVM_MAJOR}" - # use a build dir structure consistent with install - # this makes it possible to easily deploy test-friendly clang - -DCOMPILER_RT_OUTPUT_DIR="${BUILD_DIR}/lib/clang/${LLVM_MAJOR}" - - -DCOMPILER_RT_INCLUDE_TESTS=$(usex test) - # builtins & crt installed by sys-libs/compiler-rt - -DCOMPILER_RT_BUILD_BUILTINS=OFF - -DCOMPILER_RT_BUILD_CRT=OFF - -DCOMPILER_RT_BUILD_LIBFUZZER=$(usex libfuzzer) - -DCOMPILER_RT_BUILD_MEMPROF=$(usex memprof) - -DCOMPILER_RT_BUILD_ORC=$(usex orc) - -DCOMPILER_RT_BUILD_PROFILE=$(usex profile) - -DCOMPILER_RT_BUILD_SANITIZERS="${want_sanitizer}" - -DCOMPILER_RT_BUILD_XRAY=$(usex xray) - - -DPython3_EXECUTABLE="${PYTHON}" - ) - - if use amd64; then - mycmakeargs+=( - -DCAN_TARGET_i386=$(usex abi_x86_32) - -DCAN_TARGET_x86_64=$(usex abi_x86_64) - ) - fi - - if use test; then - mycmakeargs+=( - -DLLVM_EXTERNAL_LIT="${EPREFIX}/usr/bin/lit" - -DLLVM_LIT_ARGS="$(get_lit_flags)" - - # they are created during src_test() - -DCOMPILER_RT_TEST_COMPILER="${BUILD_DIR}/lib/llvm/${LLVM_MAJOR}/bin/clang" - -DCOMPILER_RT_TEST_CXX_COMPILER="${BUILD_DIR}/lib/llvm/${LLVM_MAJOR}/bin/clang++" - ) - - # same flags are passed for build & tests, so we need to strip - # them down to a subset supported by clang - CC=${EPREFIX}/usr/lib/llvm/${LLVM_MAJOR}/bin/clang \ - CXX=${EPREFIX}/usr/lib/llvm/${LLVM_MAJOR}/bin/clang++ \ - strip-unsupported-flags - fi - - if use prefix && [[ "${CHOST}" == *-darwin* ]] ; then - mycmakeargs+=( - # setting -isysroot is disabled with compiler-rt-prefix-paths.patch - # this allows adding arm64 support using SDK in EPREFIX - -DDARWIN_macosx_CACHED_SYSROOT="${EPREFIX}/MacOSX.sdk" - # Set version based on the SDK in EPREFIX - # This disables i386 for SDK >= 10.15 - # Will error if has_use tsan and SDK < 10.12 - -DDARWIN_macosx_OVERRIDE_SDK_VERSION="$(realpath ${EPREFIX}/MacOSX.sdk | sed -e 's/.*MacOSX\(.*\)\.sdk/\1/')" - # Use our libtool instead of looking it up with xcrun - -DCMAKE_LIBTOOL="${EPREFIX}/usr/bin/${CHOST}-libtool" - ) - fi - - cmake_src_configure - - if use test; then - local sys_dir=( "${EPREFIX}"/usr/lib/clang/${LLVM_MAJOR}/lib/* ) - [[ -e ${sys_dir} ]] || die "Unable to find ${sys_dir}" - [[ ${#sys_dir[@]} -eq 1 ]] || die "Non-deterministic compiler-rt install: ${sys_dir[*]}" - - # copy clang over since resource_dir is located relatively to binary - # therefore, we can put our new libraries in it - mkdir -p "${BUILD_DIR}"/lib/{llvm/${LLVM_MAJOR}/{bin,$(get_libdir)},clang/${LLVM_MAJOR}/include} || die - cp "${EPREFIX}"/usr/lib/llvm/${LLVM_MAJOR}/bin/clang{,++} \ - "${BUILD_DIR}"/lib/llvm/${LLVM_MAJOR}/bin/ || die - cp "${EPREFIX}"/usr/lib/clang/${LLVM_MAJOR}/include/*.h \ - "${BUILD_DIR}"/lib/clang/${LLVM_MAJOR}/include/ || die - cp "${sys_dir}"/*builtins*.a \ - "${BUILD_DIR}/lib/clang/${LLVM_MAJOR}/lib/${sys_dir##*/}/" || die - # we also need LLVMgold.so for gold-based tests - if [[ -f ${EPREFIX}/usr/lib/llvm/${LLVM_MAJOR}/$(get_libdir)/LLVMgold.so ]]; then - ln -s "${EPREFIX}"/usr/lib/llvm/${LLVM_MAJOR}/$(get_libdir)/LLVMgold.so \ - "${BUILD_DIR}"/lib/llvm/${LLVM_MAJOR}/$(get_libdir)/ || die - fi - fi -} - -src_test() { - # respect TMPDIR! - local -x LIT_PRESERVES_TMP=1 - # disable sandbox to have it stop clobbering LD_PRELOAD - local -x SANDBOX_ON=0 - # wipe LD_PRELOAD to make ASAN happy - local -x LD_PRELOAD= - - cmake_build check-all -} diff --git a/sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-19.0.0_pre20240518.ebuild b/sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-19.0.0_pre20240518.ebuild deleted file mode 100644 index 5bd3f6221799..000000000000 --- a/sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-19.0.0_pre20240518.ebuild +++ /dev/null @@ -1,220 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -PYTHON_COMPAT=( python3_{10..12} ) -inherit check-reqs cmake flag-o-matic llvm.org llvm-utils python-any-r1 - -DESCRIPTION="Compiler runtime libraries for clang (sanitizers & xray)" -HOMEPAGE="https://llvm.org/" - -LICENSE="Apache-2.0-with-LLVM-exceptions || ( UoI-NCSA MIT )" -SLOT="${LLVM_MAJOR}" -IUSE="+abi_x86_32 abi_x86_64 +clang +debug test" -# base targets -IUSE+=" +ctx-profile +libfuzzer +memprof +orc +profile +xray" -# sanitizer targets, keep in sync with config-ix.cmake -# NB: ubsan, scudo deliberately match two entries -SANITIZER_FLAGS=( - asan dfsan lsan msan hwasan tsan ubsan safestack cfi scudo - shadowcallstack gwp-asan -) -IUSE+=" ${SANITIZER_FLAGS[@]/#/+}" -REQUIRED_USE=" - || ( ${SANITIZER_FLAGS[*]} libfuzzer orc profile xray ) - test? ( - cfi? ( ubsan ) - gwp-asan? ( scudo ) - ) -" -RESTRICT=" - !clang? ( test ) - !test? ( test ) -" - -DEPEND=" - sys-devel/llvm:${LLVM_MAJOR} - virtual/libcrypt[abi_x86_32(-)?,abi_x86_64(-)?] -" -BDEPEND=" - clang? ( sys-devel/clang ) - elibc_glibc? ( net-libs/libtirpc ) - test? ( - $(python_gen_any_dep ">=dev-python/lit-15[\${PYTHON_USEDEP}]") - =sys-devel/clang-${LLVM_VERSION}*:${LLVM_MAJOR} - sys-libs/compiler-rt:${LLVM_MAJOR} - ) - !test? ( - ${PYTHON_DEPS} - ) -" - -LLVM_COMPONENTS=( compiler-rt cmake llvm/cmake ) -LLVM_TEST_COMPONENTS=( - llvm/include/llvm/ProfileData llvm/lib/Testing/Support third-party -) -llvm.org_set_globals - -python_check_deps() { - use test || return 0 - python_has_version ">=dev-python/lit-15[${PYTHON_USEDEP}]" -} - -check_space() { - if use test; then - local CHECKREQS_DISK_BUILD=11G - check-reqs_pkg_pretend - fi -} - -pkg_pretend() { - check_space -} - -pkg_setup() { - check_space - python-any-r1_pkg_setup -} - -src_prepare() { - sed -i -e 's:-Werror::' lib/tsan/go/buildgo.sh || die - - local flag - for flag in "${SANITIZER_FLAGS[@]}"; do - if ! use "${flag}"; then - local cmake_flag=${flag/-/_} - sed -i -e "/COMPILER_RT_HAS_${cmake_flag^^}/s:TRUE:FALSE:" \ - cmake/config-ix.cmake || die - fi - done - - # TODO: fix these tests to be skipped upstream - if use asan && ! use profile; then - rm test/asan/TestCases/asan_and_llvm_coverage_test.cpp || die - fi - if use ubsan && ! use cfi; then - > test/cfi/CMakeLists.txt || die - fi - # hangs, sigh - rm test/tsan/getline_nohang.cpp || die - - llvm.org_src_prepare -} - -src_configure() { - llvm_prepend_path "${LLVM_MAJOR}" - - # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844 - use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG" - - # pre-set since we need to pass it to cmake - BUILD_DIR=${WORKDIR}/compiler-rt_build - - if use clang; then - local -x CC=${CHOST}-clang - local -x CXX=${CHOST}-clang++ - strip-unsupported-flags - fi - - local flag want_sanitizer=OFF - for flag in "${SANITIZER_FLAGS[@]}"; do - if use "${flag}"; then - want_sanitizer=ON - break - fi - done - - local mycmakeargs=( - -DCOMPILER_RT_INSTALL_PATH="${EPREFIX}/usr/lib/clang/${LLVM_MAJOR}" - # use a build dir structure consistent with install - # this makes it possible to easily deploy test-friendly clang - -DCOMPILER_RT_OUTPUT_DIR="${BUILD_DIR}/lib/clang/${LLVM_MAJOR}" - - -DCOMPILER_RT_INCLUDE_TESTS=$(usex test) - # builtins & crt installed by sys-libs/compiler-rt - -DCOMPILER_RT_BUILD_BUILTINS=OFF - -DCOMPILER_RT_BUILD_CRT=OFF - -DCOMPILER_RT_BUILD_CTX_PROFILE=$(usex ctx-profile) - -DCOMPILER_RT_BUILD_LIBFUZZER=$(usex libfuzzer) - -DCOMPILER_RT_BUILD_MEMPROF=$(usex memprof) - -DCOMPILER_RT_BUILD_ORC=$(usex orc) - -DCOMPILER_RT_BUILD_PROFILE=$(usex profile) - -DCOMPILER_RT_BUILD_SANITIZERS="${want_sanitizer}" - -DCOMPILER_RT_BUILD_XRAY=$(usex xray) - - -DPython3_EXECUTABLE="${PYTHON}" - ) - - if use amd64; then - mycmakeargs+=( - -DCAN_TARGET_i386=$(usex abi_x86_32) - -DCAN_TARGET_x86_64=$(usex abi_x86_64) - ) - fi - - if use test; then - mycmakeargs+=( - -DLLVM_EXTERNAL_LIT="${EPREFIX}/usr/bin/lit" - -DLLVM_LIT_ARGS="$(get_lit_flags)" - - # they are created during src_test() - -DCOMPILER_RT_TEST_COMPILER="${BUILD_DIR}/lib/llvm/${LLVM_MAJOR}/bin/clang" - -DCOMPILER_RT_TEST_CXX_COMPILER="${BUILD_DIR}/lib/llvm/${LLVM_MAJOR}/bin/clang++" - ) - - # same flags are passed for build & tests, so we need to strip - # them down to a subset supported by clang - CC=${EPREFIX}/usr/lib/llvm/${LLVM_MAJOR}/bin/clang \ - CXX=${EPREFIX}/usr/lib/llvm/${LLVM_MAJOR}/bin/clang++ \ - strip-unsupported-flags - fi - - if use prefix && [[ "${CHOST}" == *-darwin* ]] ; then - mycmakeargs+=( - # setting -isysroot is disabled with compiler-rt-prefix-paths.patch - # this allows adding arm64 support using SDK in EPREFIX - -DDARWIN_macosx_CACHED_SYSROOT="${EPREFIX}/MacOSX.sdk" - # Set version based on the SDK in EPREFIX - # This disables i386 for SDK >= 10.15 - # Will error if has_use tsan and SDK < 10.12 - -DDARWIN_macosx_OVERRIDE_SDK_VERSION="$(realpath ${EPREFIX}/MacOSX.sdk | sed -e 's/.*MacOSX\(.*\)\.sdk/\1/')" - # Use our libtool instead of looking it up with xcrun - -DCMAKE_LIBTOOL="${EPREFIX}/usr/bin/${CHOST}-libtool" - ) - fi - - cmake_src_configure - - if use test; then - local sys_dir=( "${EPREFIX}"/usr/lib/clang/${LLVM_MAJOR}/lib/* ) - [[ -e ${sys_dir} ]] || die "Unable to find ${sys_dir}" - [[ ${#sys_dir[@]} -eq 1 ]] || die "Non-deterministic compiler-rt install: ${sys_dir[*]}" - - # copy clang over since resource_dir is located relatively to binary - # therefore, we can put our new libraries in it - mkdir -p "${BUILD_DIR}"/lib/{llvm/${LLVM_MAJOR}/{bin,$(get_libdir)},clang/${LLVM_MAJOR}/include} || die - cp "${EPREFIX}"/usr/lib/llvm/${LLVM_MAJOR}/bin/clang{,++} \ - "${BUILD_DIR}"/lib/llvm/${LLVM_MAJOR}/bin/ || die - cp "${EPREFIX}"/usr/lib/clang/${LLVM_MAJOR}/include/*.h \ - "${BUILD_DIR}"/lib/clang/${LLVM_MAJOR}/include/ || die - cp "${sys_dir}"/*builtins*.a \ - "${BUILD_DIR}/lib/clang/${LLVM_MAJOR}/lib/${sys_dir##*/}/" || die - # we also need LLVMgold.so for gold-based tests - if [[ -f ${EPREFIX}/usr/lib/llvm/${LLVM_MAJOR}/$(get_libdir)/LLVMgold.so ]]; then - ln -s "${EPREFIX}"/usr/lib/llvm/${LLVM_MAJOR}/$(get_libdir)/LLVMgold.so \ - "${BUILD_DIR}"/lib/llvm/${LLVM_MAJOR}/$(get_libdir)/ || die - fi - fi -} - -src_test() { - # respect TMPDIR! - local -x LIT_PRESERVES_TMP=1 - # disable sandbox to have it stop clobbering LD_PRELOAD - local -x SANDBOX_ON=0 - # wipe LD_PRELOAD to make ASAN happy - local -x LD_PRELOAD= - - cmake_build check-all -} diff --git a/sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-19.0.0_pre20240525.ebuild b/sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-19.0.0_pre20240615.ebuild index d395b7fd5a11..d395b7fd5a11 100644 --- a/sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-19.0.0_pre20240525.ebuild +++ b/sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-19.0.0_pre20240615.ebuild |