From b4ae67fffa40de2d9d71cec8ed29fd219362963b Mon Sep 17 00:00:00 2001 From: Rainer Orth Date: Sat, 25 Jun 2022 10:40:11 +0200 Subject: [PATCH] [asan][test] XFAIL global-location-nodebug.cpp on Solaris A new test `FAIL`s on Solaris: FAIL: AddressSanitizer-i386-sunos :: TestCases/global-location-nodebug.cpp (465 of 64279) FAIL: AddressSanitizer-i386-sunos-dynamic :: TestCases/global-location-nodebug.cpp (961 of 64279) The problem is the unconditional use of `-Wl,-S`: ld: fatal: dlopen() of support library (-lstdc++) failed with error: ld.so.1: ld: -lstdc++: open failed: No such file or directory `ld -S` has a completely different semantics compared to GNU `ld -S`/`--strip-debug`: specify a link-edit support library. To avoid this, I've chosen to `XFAIL` the test. Tested on `amd64-pc-solaris2.11`. Differential Revision: https://reviews.llvm.org/D128516 --- compiler-rt/test/asan/TestCases/global-location-nodebug.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/compiler-rt/test/asan/TestCases/global-location-nodebug.cpp b/compiler-rt/test/asan/TestCases/global-location-nodebug.cpp index c69624a..2f35e3c 100644 --- a/compiler-rt/test/asan/TestCases/global-location-nodebug.cpp +++ b/compiler-rt/test/asan/TestCases/global-location-nodebug.cpp @@ -8,6 +8,9 @@ // RUN: not %run %t f 2>&1 | FileCheck %s --check-prefix=CHECK --check-prefix=FUNC_STATIC-NO-G // RUN: not %run %t l 2>&1 | FileCheck %s --check-prefix=CHECK --check-prefix=LITERAL-NO-G +/// Solaris ld -S has different semantics. +// XFAIL: solaris + // CHECK: AddressSanitizer: global-buffer-overflow // CLASS_STATIC-NO-G: 0x{{.*}} is located 4 bytes to the right of global variable 'C::array' defined in '{{.*}}global-location.cpp' {{.*}} of size 40 // GLOB-NO-G: 0x{{.*}} is located 4 bytes to the right of global variable 'global' defined in '{{.*}}global-location.cpp' {{.*}} of size 40 -- 2.7.4