diff options
author | Jakub Jelinek <jakub@redhat.com> | 2017-10-20 09:32:35 +0200 |
---|---|---|
committer | Jakub Jelinek <jakub@gcc.gnu.org> | 2017-10-20 09:32:35 +0200 |
commit | 9a45ffbd122d77a87c49d05b936a9d162625c5d8 (patch) | |
tree | 5c81a4874ff7da20df3a73e552be535591c93a64 /gcc | |
parent | 42a764f76f14ce2718d30459dc140d1410ef118e (diff) | |
download | gcc-9a45ffbd122d77a87c49d05b936a9d162625c5d8.zip gcc-9a45ffbd122d77a87c49d05b936a9d162625c5d8.tar.gz gcc-9a45ffbd122d77a87c49d05b936a9d162625c5d8.tar.bz2 |
re PR sanitizer/82595 (bootstrap fails in libsanitizer on powerpc64-unknown-linux-gnu)
PR sanitizer/82595
* config/gnu-user.h (LIBTSAN_EARLY_SPEC): Add libtsan_preinit.o
for -fsanitize=thread link of executables.
(LIBLSAN_EARLY_SPEC): Add liblsan_preinit.o for -fsanitize=leak
link of executables.
* lsan/lsan.h (__lsan_init): Add SANITIZER_INTERFACE_ATTRIBUTE.
* lsan/Makefile.am (nodist_toolexeclib_HEADERS): Add
liblsan_preinit.o.
(lsan_files): Remove lsan_preinit.cc.
(liblsan_preinit.o): New rule.
* lsan/Makefile.in: Regenerated.
From-SVN: r253925
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/config/gnu-user.h | 6 |
2 files changed, 10 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index feb665f..f28e70a 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,11 @@ 2017-10-20 Jakub Jelinek <jakub@redhat.com> + PR sanitizer/82595 + * config/gnu-user.h (LIBTSAN_EARLY_SPEC): Add libtsan_preinit.o + for -fsanitize=thread link of executables. + (LIBLSAN_EARLY_SPEC): Add liblsan_preinit.o for -fsanitize=leak + link of executables. + PR target/82370 * config/i386/sse.md (VI248_AVX2, VI248_AVX512BW, VI248_AVX512BW_2): New mode iterators. diff --git a/gcc/config/gnu-user.h b/gcc/config/gnu-user.h index a967b69..df17b18 100644 --- a/gcc/config/gnu-user.h +++ b/gcc/config/gnu-user.h @@ -162,11 +162,13 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see LD_STATIC_OPTION " --whole-archive -lasan --no-whole-archive " \ LD_DYNAMIC_OPTION "}}%{!static-libasan:-lasan}" #undef LIBTSAN_EARLY_SPEC -#define LIBTSAN_EARLY_SPEC "%{static-libtsan:%{!shared:" \ +#define LIBTSAN_EARLY_SPEC "%{!shared:libtsan_preinit%O%s} " \ + "%{static-libtsan:%{!shared:" \ LD_STATIC_OPTION " --whole-archive -ltsan --no-whole-archive " \ LD_DYNAMIC_OPTION "}}%{!static-libtsan:-ltsan}" #undef LIBLSAN_EARLY_SPEC -#define LIBLSAN_EARLY_SPEC "%{static-liblsan:%{!shared:" \ +#define LIBLSAN_EARLY_SPEC "%{!shared:liblsan_preinit%O%s} " \ + "%{static-liblsan:%{!shared:" \ LD_STATIC_OPTION " --whole-archive -llsan --no-whole-archive " \ LD_DYNAMIC_OPTION "}}%{!static-liblsan:-llsan}" #endif |