[compiler-rt] b4ae67f - [asan][test] XFAIL global-location-nodebug.cpp on Solaris

Rainer Orth via llvm-commits llvm-commits at lists.llvm.org
Sat Jun 25 01:40:54 PDT 2022


Author: Rainer Orth
Date: 2022-06-25T10:40:11+02:00
New Revision: b4ae67fffa40de2d9d71cec8ed29fd219362963b

URL: https://github.com/llvm/llvm-project/commit/b4ae67fffa40de2d9d71cec8ed29fd219362963b
DIFF: https://github.com/llvm/llvm-project/commit/b4ae67fffa40de2d9d71cec8ed29fd219362963b.diff

LOG: [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

Added: 
    

Modified: 
    compiler-rt/test/asan/TestCases/global-location-nodebug.cpp

Removed: 
    


################################################################################
diff  --git a/compiler-rt/test/asan/TestCases/global-location-nodebug.cpp b/compiler-rt/test/asan/TestCases/global-location-nodebug.cpp
index c69624a1791e3..2f35e3c787185 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 
diff erent 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


        


More information about the llvm-commits mailing list