diff options
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/doc/sourcebuild.texi | 3 | ||||
-rw-r--r-- | gcc/testsuite/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/testsuite/gcc.c-torture/execute/960321-1.x | 15 | ||||
-rw-r--r-- | gcc/testsuite/lib/target-supports.exp | 22 |
5 files changed, 50 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 181781e3fdb..acec1c72180 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2010-06-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> + + * doc/sourcebuild.texi (Effective-Target Keywords, Other + attributes): Document gas. + 2010-06-07 Uros Bizjak <ubizjak@gmail.com> * config/i386/i386.md (*add<mode>_1): Remove alternative 2. diff --git a/gcc/doc/sourcebuild.texi b/gcc/doc/sourcebuild.texi index c4353c790c5..cb116a93f57 100644 --- a/gcc/doc/sourcebuild.texi +++ b/gcc/doc/sourcebuild.texi @@ -1734,6 +1734,9 @@ Target supports @option{-freorder-blocks-and-partition}. @item fstack_protector Target supports @option{-fstack-protector}. +@item gas +Target uses GNU @command{as}. + @item gc_sections Target supports @option{--gc-sections}. diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 50afa0dd51d..cfc229f4d39 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2010-06-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> + + * lib/target-supports.exp (check_effective_target_gas): New proc. + * gcc.c-torture/execute/960321-1.x: New file. + 2010-06-07 Jason Merrill <jason@redhat.com> PR c++/44401 diff --git a/gcc/testsuite/gcc.c-torture/execute/960321-1.x b/gcc/testsuite/gcc.c-torture/execute/960321-1.x new file mode 100644 index 00000000000..44cc702686d --- /dev/null +++ b/gcc/testsuite/gcc.c-torture/execute/960321-1.x @@ -0,0 +1,15 @@ +# This test fails to link on 64-bit Solaris 2/x86 due to a Sun as bug. +if { [istarget "i?86-*-solaris2*"] + && ! [check_effective_target_ilp32] + && ! [check_effective_target_gas] } { + set torture_eval_before_compile { + global compiler_conditional_xfail_data + set compiler_conditional_xfail_data { + "64-bit Sun as bug" \ + { "i?86-*-solaris2*" } \ + { "-O[1-3s]" } \ + { "" } + } + } +} +return 0 diff --git a/gcc/testsuite/lib/target-supports.exp b/gcc/testsuite/lib/target-supports.exp index 6ad8c344585..1cdc53b4983 100644 --- a/gcc/testsuite/lib/target-supports.exp +++ b/gcc/testsuite/lib/target-supports.exp @@ -3333,6 +3333,28 @@ proc check_effective_target_correct_iso_cpp_string_wchar_protos { } { }] } +# Return 1 if GNU as is used. + +proc check_effective_target_gas { } { + global use_gas_saved + global tool + + if {![info exists use_gas_saved]} { + # Check if the as used by gcc is GNU as. + set gcc_as [lindex [${tool}_target_compile "-print-prog-name=as" "" "none" ""] 0] + # Provide /dev/null as input, otherwise gas times out reading from + # stdin. + set status [remote_exec host "$gcc_as" "-v /dev/null"] + set as_output [lindex $status 1] + if { [ string first "GNU" $as_output ] >= 0 } { + set use_gas_saved 1 + } else { + set use_gas_saved 0 + } + } + return $use_gas_saved +} + # Return 1 if the compiler has been configure with link-time optimization # (LTO) support. |