summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-9999.ebuild')
-rw-r--r--sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-9999.ebuild16
1 files changed, 15 insertions, 1 deletions
diff --git a/sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-9999.ebuild b/sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-9999.ebuild
index 160d18dfe137..256d472fa616 100644
--- a/sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-9999.ebuild
+++ b/sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-9999.ebuild
@@ -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