public inbox for gcc-cvs@sourceware.org
help / color / mirror / Atom feed
* [gcc r14-8694] Link shared libasan with -z now on Solaris
@ 2024-02-01 12:13 Rainer Orth
0 siblings, 0 replies; only message in thread
From: Rainer Orth @ 2024-02-01 12:13 UTC (permalink / raw)
To: gcc-cvs
https://gcc.gnu.org/g:099d53e5b5404532e8910d1430f3942c4f07976c
commit r14-8694-g099d53e5b5404532e8910d1430f3942c4f07976c
Author: Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
Date: Thu Feb 1 13:13:06 2024 +0100
Link shared libasan with -z now on Solaris
g++.dg/asan/default-options-1.C FAILs on Solaris/SPARC and x86:
FAIL: g++.dg/asan/default-options-1.C -O0 execution test
FAIL: g++.dg/asan/default-options-1.C -O1 execution test
FAIL: g++.dg/asan/default-options-1.C -O2 execution test
FAIL: g++.dg/asan/default-options-1.C -O2 -flto execution test
FAIL: g++.dg/asan/default-options-1.C -O2 -flto -flto-partition=none execution test
FAIL: g++.dg/asan/default-options-1.C -O3 -g execution test
FAIL: g++.dg/asan/default-options-1.C -Os execution test
The failure is always the same:
AddressSanitizer: CHECK failed: asan_rtl.cpp:397 "((!AsanInitIsRunning() && "ASan init calls itself!")) != (0)" (0x0, 0x0) (tid=1)
This happens because libasan makes unportable assumptions about
initialization order that don't hold on Solaris. The problem has
already been fixed in clang by
[Driver] Link shared asan runtime lib with -z now on Solaris/x86
https://reviews.llvm.org/D156325
where it was way more prevalent.
This patch applies the same fix to gcc.
Tested on i386-pc-solaris2.11 (ld and gld) and sparc-sun-solaris2.11.
2024-01-30 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
gcc:
* config/sol2.h (LIBASAN_EARLY_SPEC): Add -z now unless
-static-libasan. Add missing whitespace.
Diff:
---
gcc/config/sol2.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/gcc/config/sol2.h b/gcc/config/sol2.h
index 5b1d3371b4d6..85c1f9daf6a9 100644
--- a/gcc/config/sol2.h
+++ b/gcc/config/sol2.h
@@ -255,7 +255,7 @@ along with GCC; see the file COPYING3. If not see
" %{!shared:libasan_preinit%O%s} \
%{static-libasan:%{!shared: -Bstatic "\
LD_WHOLE_ARCHIVE_OPTION " -lasan " LD_NO_WHOLE_ARCHIVE_OPTION \
- "-Bdynamic}}%{!static-libasan:-lasan}"
+ " -Bdynamic}}%{!static-libasan:-z now -lasan}"
/* Error out on -fsanitize=thread|leak. */
#define LIBTSAN_EARLY_SPEC "\
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2024-02-01 12:13 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-02-01 12:13 [gcc r14-8694] Link shared libasan with -z now on Solaris Rainer Orth
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).