sys-libs/compiler-rt-sanitizers: Strip tests broken by glibc-2.25
authorMichał Górny <mgorny@gentoo.org>
Thu, 15 Mar 2018 16:22:46 +0000 (17:22 +0100)
committerMichał Górny <mgorny@gentoo.org>
Thu, 15 Mar 2018 17:33:54 +0000 (18:33 +0100)
sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-4.0.1.ebuild
sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-5.0.1.ebuild
sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-6.0.0.ebuild
sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-6.0.9999.ebuild
sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-9999.ebuild

index 3519ecb52ac301a4c2b5a8f92ff219c6dc085c81..075cea462773d8909dcfb05b06ca42ac2fc0a5b9 100644 (file)
@@ -67,6 +67,16 @@ src_unpack() {
 src_prepare() {
        eapply "${WORKDIR}/${P}-patchset"
        cmake-utils_src_prepare
+
+       if use test; then
+               # remove tests that are broken by new glibc
+               # https://bugs.llvm.org/show_bug.cgi?id=36065
+               if use elibc_glibc && has_version '>=sys-libs/glibc-2.25'; then
+                       rm test/lsan/TestCases/use_tls_dynamic.cc || die
+                       rm test/msan/dtls_test.c || die
+                       rm test/sanitizer_common/TestCases/Posix/sanitizer_set_death_callback_test.cc || die
+               fi
+       fi
 }
 
 src_configure() {
index 768c64155d0ad86c8673dc54c7c44d23b9d197a5..87e15772f6b8b38e4b4477f9ddb6e17c35d800bc 100644 (file)
@@ -21,7 +21,7 @@ SRC_URI="https://releases.llvm.org/${PV/_//}/${MY_P}.tar.xz
 LICENSE="|| ( UoI-NCSA MIT )"
 SLOT="${PV%_*}"
 KEYWORDS="amd64 ~arm64 x86 ~amd64-linux ~ppc-macos ~x64-macos ~x86-macos"
-IUSE="+clang test"
+IUSE="+clang test elibc_glibc"
 
 LLVM_MAX_SLOT=${SLOT%%.*}
 # llvm-4 needed for --cmakedir
@@ -69,6 +69,20 @@ src_unpack() {
        fi
 }
 
+src_prepare() {
+       cmake-utils_src_prepare
+
+       if use test; then
+               # remove tests that are broken by new glibc
+               # https://bugs.llvm.org/show_bug.cgi?id=36065
+               if use elibc_glibc && has_version '>=sys-libs/glibc-2.25'; then
+                       rm test/lsan/TestCases/Linux/use_tls_dynamic.cc || die
+                       rm test/msan/dtls_test.c || die
+                       rm test/sanitizer_common/TestCases/Posix/sanitizer_set_death_callback_test.cc || die
+               fi
+       fi
+}
+
 src_configure() {
        # pre-set since we need to pass it to cmake
        BUILD_DIR=${WORKDIR}/${P}_build
index 2873862b28c2425c09d72890a0bc353cd78f7fcf..0f71a8adc373cd8dd8076e117ed3632a8de25c1d 100644 (file)
@@ -22,7 +22,7 @@ SRC_URI="https://releases.llvm.org/${PV/_//}/${MY_P}.tar.xz
 LICENSE="|| ( UoI-NCSA MIT )"
 SLOT="${PV%_*}"
 KEYWORDS="~amd64 ~arm64 ~x86 ~amd64-fbsd ~amd64-linux ~ppc-macos ~x64-macos ~x86-macos"
-IUSE="+clang test"
+IUSE="+clang test elibc_glibc"
 RESTRICT="!test? ( test ) !clang? ( test )"
 
 LLVM_MAX_SLOT=${SLOT%%.*}
@@ -71,6 +71,20 @@ src_unpack() {
        fi
 }
 
+src_prepare() {
+       cmake-utils_src_prepare
+
+       if use test; then
+               # remove tests that are broken by new glibc
+               # https://bugs.llvm.org/show_bug.cgi?id=36065
+               if use elibc_glibc && has_version '>=sys-libs/glibc-2.25'; then
+                       rm test/lsan/TestCases/Linux/use_tls_dynamic.cc || die
+                       rm test/msan/dtls_test.c || die
+                       rm test/sanitizer_common/TestCases/Posix/sanitizer_set_death_callback_test.cc || die
+               fi
+       fi
+}
+
 src_configure() {
        # pre-set since we need to pass it to cmake
        BUILD_DIR=${WORKDIR}/${P}_build
index ab6f31e1ff180d0837cb45aba249caf32a84fc6a..40a22038985354a075c71d91e4b6130806dd4c50 100644 (file)
@@ -22,7 +22,7 @@ LICENSE="|| ( UoI-NCSA MIT )"
 # Note: this needs to be updated to match version of clang-9999
 SLOT="6.0.0"
 KEYWORDS=""
-IUSE="+clang test"
+IUSE="+clang test elibc_glibc"
 RESTRICT="!test? ( test ) !clang? ( test )"
 
 LLVM_MAX_SLOT=${SLOT%%.*}
@@ -72,6 +72,20 @@ src_unpack() {
        git-r3_checkout
 }
 
+src_prepare() {
+       cmake-utils_src_prepare
+
+       if use test; then
+               # remove tests that are broken by new glibc
+               # https://bugs.llvm.org/show_bug.cgi?id=36065
+               if use elibc_glibc && has_version '>=sys-libs/glibc-2.25'; then
+                       rm test/lsan/TestCases/Linux/use_tls_dynamic.cc || die
+                       rm test/msan/dtls_test.c || die
+                       rm test/sanitizer_common/TestCases/Posix/sanitizer_set_death_callback_test.cc || die
+               fi
+       fi
+}
+
 src_configure() {
        # pre-set since we need to pass it to cmake
        BUILD_DIR=${WORKDIR}/${P}_build
index 160d18dfe1375ad19c786e5e31111f03583bc000..256d472fa6162d267e23eef2b1671719c906e25e 100644 (file)
@@ -21,7 +21,7 @@ LICENSE="|| ( UoI-NCSA MIT )"
 # Note: this needs to be updated to match version of clang-9999
 SLOT="7.0.0"
 KEYWORDS=""
-IUSE="+clang test"
+IUSE="+clang test elibc_glibc"
 RESTRICT="!test? ( test ) !clang? ( test )"
 
 LLVM_MAX_SLOT=${SLOT%%.*}
@@ -71,6 +71,20 @@ src_unpack() {
        git-r3_checkout
 }
 
+src_prepare() {
+       cmake-utils_src_prepare
+
+       if use test; then
+               # remove tests that are broken by new glibc
+               # https://bugs.llvm.org/show_bug.cgi?id=36065
+               if use elibc_glibc && has_version '>=sys-libs/glibc-2.25'; then
+                       rm test/lsan/TestCases/Linux/use_tls_dynamic.cc || die
+                       rm test/msan/dtls_test.c || die
+                       rm test/sanitizer_common/TestCases/Posix/sanitizer_set_death_callback_test.cc || die
+               fi
+       fi
+}
+
 src_configure() {
        # pre-set since we need to pass it to cmake
        BUILD_DIR=${WORKDIR}/${P}_build