commit: fd5ea318c3f1b5f59c8b783202a3b22321c2e25f Author: Michał Górny <mgorny <AT> gentoo <DOT> org> AuthorDate: Tue Mar 20 20:20:12 2018 +0000 Commit: Michał Górny <mgorny <AT> gentoo <DOT> org> CommitDate: Tue Mar 20 22:13:14 2018 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=fd5ea318
sys-devel/clang: Fix test failure w/ USE=compiler-rt in 6.0.0 Closes: https://bugs.gentoo.org/650316 sys-devel/clang/clang-6.0.0-r1.ebuild | 3 +++ ...oss-DSO-CFI-Android-sanitizer-test-for-rt.patch | 30 ++++++++++++++++++++++ 2 files changed, 33 insertions(+) diff --git a/sys-devel/clang/clang-6.0.0-r1.ebuild b/sys-devel/clang/clang-6.0.0-r1.ebuild index c001fef8e41..a8ab8bbb6b6 100644 --- a/sys-devel/clang/clang-6.0.0-r1.ebuild +++ b/sys-devel/clang/clang-6.0.0-r1.ebuild @@ -74,6 +74,9 @@ PATCHES=( # fix Driver crash with CHOST prefix and long command-line # https://bugs.gentoo.org/650082 "${FILESDIR}"/6.0.0/0001-Driver-Avoid-invalidated-iterator-in-insertTargetAnd.patch + # fix test failure with default-compiler-rt + # https://bugs.gentoo.org/650316 + "${FILESDIR}"/6.0.0/0002-test-Fix-Cross-DSO-CFI-Android-sanitizer-test-for-rt.patch ) # Multilib notes: diff --git a/sys-devel/clang/files/6.0.0/0002-test-Fix-Cross-DSO-CFI-Android-sanitizer-test-for-rt.patch b/sys-devel/clang/files/6.0.0/0002-test-Fix-Cross-DSO-CFI-Android-sanitizer-test-for-rt.patch new file mode 100644 index 00000000000..0c664489106 --- /dev/null +++ b/sys-devel/clang/files/6.0.0/0002-test-Fix-Cross-DSO-CFI-Android-sanitizer-test-for-rt.patch @@ -0,0 +1,30 @@ +From f81bc3f2d174ac21e576cdddb736524531258fbe Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <[email protected]> +Date: Mon, 19 Mar 2018 20:55:47 +0100 +Subject: [PATCH 2/2] [test] Fix Cross-DSO CFI Android sanitizer test for + -rtlib=compiler-rt + +Fix the CHECK-CFI-CROSS-DSO-ANDROID test to be more precise and match +specifically 'clang_rt.cfi' rather than any compiler-rt library. This +fixes the failure when the linker command-line contains +clang_rt.builtins library due to CLANG_DEFAULT_RTLIB=compiler-rt. +--- + test/Driver/sanitizer-ld.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/test/Driver/sanitizer-ld.c b/test/Driver/sanitizer-ld.c +index 0da4255f69..9309450186 100644 +--- a/test/Driver/sanitizer-ld.c ++++ b/test/Driver/sanitizer-ld.c +@@ -514,7 +514,7 @@ + // RUN: --sysroot=%S/Inputs/basic_android_tree \ + // RUN: | FileCheck --check-prefix=CHECK-CFI-CROSS-DSO-ANDROID %s + // CHECK-CFI-CROSS-DSO-ANDROID: "{{.*}}ld{{(.exe)?}}" +-// CHECK-CFI-CROSS-DSO-ANDROID-NOT: libclang_rt. ++// CHECK-CFI-CROSS-DSO-ANDROID-NOT: libclang_rt.cfi + + // Cross-DSO CFI with diagnostics on Android links just the UBSAN runtime. + // RUN: %clang -fsanitize=cfi -fsanitize-cfi-cross-dso %s -### -o %t.o 2>&1 \ +-- +2.16.2 +
