From cef073efdce758fc34155284a2f489d79cdcafa9 Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Wed, 17 May 2023 10:09:17 +0100 Subject: gentoo auto-resync : 17:05:2023 - 10:09:17 --- sys-libs/compiler-rt-sanitizers/Manifest | 2 +- .../compiler-rt-sanitizers-16.0.4.9999.ebuild | 216 --------------------- .../compiler-rt-sanitizers-16.0.5.9999.ebuild | 216 +++++++++++++++++++++ 3 files changed, 217 insertions(+), 217 deletions(-) delete mode 100644 sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-16.0.4.9999.ebuild create mode 100644 sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-16.0.5.9999.ebuild (limited to 'sys-libs/compiler-rt-sanitizers') diff --git a/sys-libs/compiler-rt-sanitizers/Manifest b/sys-libs/compiler-rt-sanitizers/Manifest index 52452ff852c9..2aff4cc0c463 100644 --- a/sys-libs/compiler-rt-sanitizers/Manifest +++ b/sys-libs/compiler-rt-sanitizers/Manifest @@ -11,7 +11,7 @@ DIST llvm-project-7d436d56b60b36508b94e39d08761f1405a9c770.tar.gz 183363091 BLAK EBUILD compiler-rt-sanitizers-14.0.6.ebuild 6526 BLAKE2B 371b7d7bfbcacce1c04cf039b15f49bf5c8fb7de0352c4f477b92d1efe0c70442770ec0c6b60572cf5877b5c14492328cf727b2aa5c1dea761eb909aa1e1df6c SHA512 ee1f054abb9954eedd5b098afb1eb741cd2d7b1b329ef66ed3f25f8ed050227a31925852e3d893b0a9913e2ef2ac34efe89c66c19b562c586f7c0352a10a5814 EBUILD compiler-rt-sanitizers-15.0.7.ebuild 6578 BLAKE2B 79b9477f9f426c7e5ffc07fe9e2abc86ee568d8e081ac5e5e3da3e3e169920fe8c0ce34f9a8ac03a4389f27ecb0b0ff7f5cf91622d614e03300f17ea97d20859 SHA512 9d23f6974edbe69e5d9fa53a3885e8e44741b5e5d90b0e72c6d191b70827d1e590a7c5a3373bc4fb4945a50db0eea5e119baeaeea956c6d92bb087410ce919b0 EBUILD compiler-rt-sanitizers-16.0.3.ebuild 6550 BLAKE2B a3d856b59f3ad6ce433952a31081576c91576e764119720cf9af44dd54a1813f9f08da03c26cab7a4d00e8b44852197588b14eb52826419b353b44c926cf37bf SHA512 509c25c720fb1f4e3664491f41b23242dd24ba541cc319680cea6e0dc01bebe929af943281fe03473f49fff369b3021cc6abb0d5e6b8b1fd7fabc071961cdaa6 -EBUILD compiler-rt-sanitizers-16.0.4.9999.ebuild 6248 BLAKE2B 8548074a3b572bc5b19e9a70ed91225678172cb43b71ad501811d3741367c56f1ffe0e1b528934f620e7d8a30bd1fc463ada54113bea16c322f1d821a8503756 SHA512 8825b15e4965e58365a96517831120e1d5c02130f83cc1150b7a107142782cee74830d3dc0234453291d0f487789cd005303d47269381ad45356e4fd779decf5 +EBUILD compiler-rt-sanitizers-16.0.5.9999.ebuild 6248 BLAKE2B 8548074a3b572bc5b19e9a70ed91225678172cb43b71ad501811d3741367c56f1ffe0e1b528934f620e7d8a30bd1fc463ada54113bea16c322f1d821a8503756 SHA512 8825b15e4965e58365a96517831120e1d5c02130f83cc1150b7a107142782cee74830d3dc0234453291d0f487789cd005303d47269381ad45356e4fd779decf5 EBUILD compiler-rt-sanitizers-17.0.0.9999.ebuild 6249 BLAKE2B 036338e02f018bd9cb01036851fcee5af58f012e15c4fcb55a207e519d2b553e83f2871869681055a9c672b091126e95d52a1c50a605a94e27b866b22dd64732 SHA512 94a1deb4cbba26d0e1aa02333c2d3375349b059e1fe75f26368ab54d13b276c27ea377f4cce9b1cdf0a508add5ddae4886a59bbb24cd8bec61a7e5d03660746c EBUILD compiler-rt-sanitizers-17.0.0_pre20230502.ebuild 6249 BLAKE2B 036338e02f018bd9cb01036851fcee5af58f012e15c4fcb55a207e519d2b553e83f2871869681055a9c672b091126e95d52a1c50a605a94e27b866b22dd64732 SHA512 94a1deb4cbba26d0e1aa02333c2d3375349b059e1fe75f26368ab54d13b276c27ea377f4cce9b1cdf0a508add5ddae4886a59bbb24cd8bec61a7e5d03660746c EBUILD compiler-rt-sanitizers-17.0.0_pre20230512.ebuild 6249 BLAKE2B 036338e02f018bd9cb01036851fcee5af58f012e15c4fcb55a207e519d2b553e83f2871869681055a9c672b091126e95d52a1c50a605a94e27b866b22dd64732 SHA512 94a1deb4cbba26d0e1aa02333c2d3375349b059e1fe75f26368ab54d13b276c27ea377f4cce9b1cdf0a508add5ddae4886a59bbb24cd8bec61a7e5d03660746c diff --git a/sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-16.0.4.9999.ebuild b/sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-16.0.4.9999.ebuild deleted file mode 100644 index cc599404c49c..000000000000 --- a/sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-16.0.4.9999.ebuild +++ /dev/null @@ -1,216 +0,0 @@ -# Copyright 1999-2023 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -PYTHON_COMPAT=( python3_{9..11} ) -inherit check-reqs cmake flag-o-matic llvm llvm.org 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="" -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=" - >=dev-util/cmake-3.16 - 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 - LLVM_MAX_SLOT=${LLVM_MAJOR} llvm_pkg_setup - 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 - - llvm.org_src_prepare -} - -src_configure() { - # 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-16.0.5.9999.ebuild b/sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-16.0.5.9999.ebuild new file mode 100644 index 000000000000..cc599404c49c --- /dev/null +++ b/sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-16.0.5.9999.ebuild @@ -0,0 +1,216 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{9..11} ) +inherit check-reqs cmake flag-o-matic llvm llvm.org 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="" +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=" + >=dev-util/cmake-3.16 + 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 + LLVM_MAX_SLOT=${LLVM_MAJOR} llvm_pkg_setup + 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 + + llvm.org_src_prepare +} + +src_configure() { + # 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 +} -- cgit v1.2.3