From 4bb0ca2d1e6a8b625788a191fe28f5698cae2344 Mon Sep 17 00:00:00 2001 From: Jakub Jelinek Date: Wed, 26 Nov 2014 20:54:49 +0100 Subject: [PATCH] gcc.c (SANITIZER_SPEC): Don't error on -fsanitize=thread without -pie or -shared... * 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. From-SVN: r218097 --- gcc/ChangeLog | 5 +++++ gcc/gcc.c | 2 +- gcc/testsuite/ChangeLog | 5 +++++ 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 + + * 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 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 + + * lib/tsan-dg.exp (check_effective_target_fsanitize_thread, + tsan_init): Don't use -fPIE or -pie. + 2014-11-26 Bernd Edlinger 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 -- 2.30.2