Commit 4bb0ca2d by Jakub Jelinek Committed by Jakub Jelinek

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
parent 45c89690
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> 2014-11-26 Bernd Edlinger <bernd.edlinger@hotmail.de>
PR ipa/61190 PR ipa/61190
...@@ -794,7 +794,7 @@ proper position among the other output files. */ ...@@ -794,7 +794,7 @@ proper position among the other output files. */
%{!nostdlib:%{!nodefaultlibs:%{%:sanitize(address):" LIBASAN_SPEC "\ %{!nostdlib:%{!nodefaultlibs:%{%:sanitize(address):" LIBASAN_SPEC "\
%{static:%ecannot specify -static with -fsanitize=address}}\ %{static:%ecannot specify -static with -fsanitize=address}}\
%{%:sanitize(thread):" LIBTSAN_SPEC "\ %{%: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(undefined):" LIBUBSAN_SPEC "}\
%{%:sanitize(leak):" LIBLSAN_SPEC "}}}" %{%:sanitize(leak):" LIBLSAN_SPEC "}}}"
#endif #endif
......
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> 2014-11-26 Bernd Edlinger <bernd.edlinger@hotmail.de>
PR ipa/61190 PR ipa/61190
......
...@@ -18,9 +18,9 @@ ...@@ -18,9 +18,9 @@
# code, 0 otherwise. # code, 0 otherwise.
proc check_effective_target_fsanitize_thread {} { 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; } int main (void) { return 0; }
} "-fPIE -pie -fsanitize=thread"] } "-fsanitize=thread"]
} }
# #
...@@ -93,12 +93,12 @@ proc tsan_init { args } { ...@@ -93,12 +93,12 @@ proc tsan_init { args } {
if [info exists ALWAYS_CXXFLAGS] { if [info exists ALWAYS_CXXFLAGS] {
set tsan_saved_ALWAYS_CXXFLAGS $ALWAYS_CXXFLAGS set tsan_saved_ALWAYS_CXXFLAGS $ALWAYS_CXXFLAGS
set ALWAYS_CXXFLAGS [concat "{ldflags=$link_flags}" $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 { } else {
if [info exists TEST_ALWAYS_FLAGS] { 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 { } 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 } { ...@@ -110,7 +110,7 @@ proc tsan_init { args } {
set individual_timeout 20 set individual_timeout 20
if [check_runtime_nocache tsan_works { if [check_runtime_nocache tsan_works {
int main () { return 0; } int main () { return 0; }
} "-fPIE -pie -fsanitize=thread -g"] { } "-fsanitize=thread -g"] {
set dg-do-what-default run set dg-do-what-default run
} else { } else {
set dg-do-what-default compile set dg-do-what-default compile
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment