diff options
author | jakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4> | 2014-11-26 19:54:49 +0000 |
---|---|---|
committer | jakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4> | 2014-11-26 19:54:49 +0000 |
commit | 9bb6ab3b5a6ceab629121186ba16d2a709c1366c (patch) | |
tree | 4890373cde717cbb4efea5468fbf0ab1385b156a /gcc | |
parent | 533c3d32d33418ca73b1aba17408f11da563c162 (diff) | |
download | gcc-9bb6ab3b5a6ceab629121186ba16d2a709c1366c.tar.gz |
* gcc.c (SANITIZER_SPEC): Don't error on -fsanitize=thread
without -pie or -shared, error on -fsanitize=thread -static instead.
* lib/tsan-dg.exp (check_effective_target_fsanitize_thread,
tsan_init): Don't use -fPIE or -pie.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218097 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/gcc.c | 2 | ||||
-rw-r--r-- | gcc/testsuite/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/testsuite/lib/tsan-dg.exp | 12 |
4 files changed, 17 insertions, 7 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 62dcb381af7..b05939e1789 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2014-11-26 Jakub Jelinek <jakub@redhat.com> + + * gcc.c (SANITIZER_SPEC): Don't error on -fsanitize=thread + without -pie or -shared, error on -fsanitize=thread -static instead. + 2014-11-26 Bernd Edlinger <bernd.edlinger@hotmail.de> PR ipa/61190 diff --git a/gcc/gcc.c b/gcc/gcc.c index b730ba53d7e..4cb4ba32618 100644 --- a/gcc/gcc.c +++ b/gcc/gcc.c @@ -794,7 +794,7 @@ proper position among the other output files. */ %{!nostdlib:%{!nodefaultlibs:%{%:sanitize(address):" LIBASAN_SPEC "\ %{static:%ecannot specify -static with -fsanitize=address}}\ %{%:sanitize(thread):" LIBTSAN_SPEC "\ - %{!pie:%{!shared:%e-fsanitize=thread linking must be done with -pie or -shared}}}\ + %{static:%ecannot specify -static with -fsanitize=thread}}\ %{%:sanitize(undefined):" LIBUBSAN_SPEC "}\ %{%:sanitize(leak):" LIBLSAN_SPEC "}}}" #endif diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index c3dcfd2cbf4..b8239da9148 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2014-11-26 Jakub Jelinek <jakub@redhat.com> + + * lib/tsan-dg.exp (check_effective_target_fsanitize_thread, + tsan_init): Don't use -fPIE or -pie. + 2014-11-26 Bernd Edlinger <bernd.edlinger@hotmail.de> PR ipa/61190 diff --git a/gcc/testsuite/lib/tsan-dg.exp b/gcc/testsuite/lib/tsan-dg.exp index 77c85ff24ca..db3c263c9ac 100644 --- a/gcc/testsuite/lib/tsan-dg.exp +++ b/gcc/testsuite/lib/tsan-dg.exp @@ -18,9 +18,9 @@ # code, 0 otherwise. proc check_effective_target_fsanitize_thread {} { - return [check_no_compiler_messages fanitize_thread executable { + return [check_no_compiler_messages fsanitize_thread executable { int main (void) { return 0; } - } "-fPIE -pie -fsanitize=thread"] + } "-fsanitize=thread"] } # @@ -93,12 +93,12 @@ proc tsan_init { args } { if [info exists ALWAYS_CXXFLAGS] { set tsan_saved_ALWAYS_CXXFLAGS $ALWAYS_CXXFLAGS set ALWAYS_CXXFLAGS [concat "{ldflags=$link_flags}" $ALWAYS_CXXFLAGS] - set ALWAYS_CXXFLAGS [concat "{additional_flags=-fPIE -pie -fsanitize=thread -g}" $ALWAYS_CXXFLAGS] + set ALWAYS_CXXFLAGS [concat "{additional_flags=-fsanitize=thread -g}" $ALWAYS_CXXFLAGS] } else { if [info exists TEST_ALWAYS_FLAGS] { - set TEST_ALWAYS_FLAGS "$link_flags -fPIE -pie -fsanitize=thread -g $TEST_ALWAYS_FLAGS" + set TEST_ALWAYS_FLAGS "$link_flags -fsanitize=thread -g $TEST_ALWAYS_FLAGS" } else { - set TEST_ALWAYS_FLAGS "$link_flags -fPIE -pie -fsanitize=thread -g" + set TEST_ALWAYS_FLAGS "$link_flags -fsanitize=thread -g" } } @@ -110,7 +110,7 @@ proc tsan_init { args } { set individual_timeout 20 if [check_runtime_nocache tsan_works { int main () { return 0; } - } "-fPIE -pie -fsanitize=thread -g"] { + } "-fsanitize=thread -g"] { set dg-do-what-default run } else { set dg-do-what-default compile |