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
+

Reply via email to