[compiler-rt] 8a1084a - [asan][test] XFAIL Posix/no_asan_gen_globals.c on Solaris
Rainer Orth via llvm-commits
llvm-commits at lists.llvm.org
Wed Sep 30 13:59:01 PDT 2020
Author: Rainer Orth
Date: 2020-09-30T22:58:07+02:00
New Revision: 8a1084a9486313e9f46e61ab69f80309c7050e1f
URL: https://github.com/llvm/llvm-project/commit/8a1084a9486313e9f46e61ab69f80309c7050e1f
DIFF: https://github.com/llvm/llvm-project/commit/8a1084a9486313e9f46e61ab69f80309c7050e1f.diff
LOG: [asan][test] XFAIL Posix/no_asan_gen_globals.c on Solaris
`Posix/no_asan_gen_globals.c` currently `FAIL`s on Solaris:
$ nm no_asan_gen_globals.c.tmp.exe | grep ___asan_gen_
0809696a r .L___asan_gen_.1
0809a4cd r .L___asan_gen_.2
080908e2 r .L___asan_gen_.4
0809a4cd r .L___asan_gen_.5
0809a529 r .L___asan_gen_.7
0809a4cd r .L___asan_gen_.8
As detailed in Bug 47607, there are two factors here:
- `clang` plays games by emitting some local labels into the symbol
table. When instead one uses `-fno-integrated-as` to have `gas` create
the object files, they don't land in the objects in the first place.
- Unlike GNU `ld`, the Solaris `ld` doesn't support support
`-X`/`--discard-locals` but instead relies on the assembler to follow its
specification and not emit local labels.
Therefore this patch `XFAIL`s the test on Solaris.
Tested on `amd64-pc-solaris2.11` and `x86_64-pc-linux-gnu`.
Differential Revision: https://reviews.llvm.org/D88218
Added:
Modified:
compiler-rt/test/asan/TestCases/Posix/no_asan_gen_globals.c
Removed:
################################################################################
diff --git a/compiler-rt/test/asan/TestCases/Posix/no_asan_gen_globals.c b/compiler-rt/test/asan/TestCases/Posix/no_asan_gen_globals.c
index 994f827974be..c9a6d99aca23 100644
--- a/compiler-rt/test/asan/TestCases/Posix/no_asan_gen_globals.c
+++ b/compiler-rt/test/asan/TestCases/Posix/no_asan_gen_globals.c
@@ -1,5 +1,7 @@
// FIXME: https://code.google.com/p/address-sanitizer/issues/detail?id=316
// XFAIL: android
+// Bug 47607
+// XFAIL: solaris
// Make sure ___asan_gen_* strings do not end up in the symbol table.
// RUN: %clang_asan %s -o %t.exe
More information about the llvm-commits
mailing list