2007-04-10 Eric Christopher <echristo@apple.com>

* lib/target-supports.exp
        (check_effective_target_fstack_protector): Rewrite.

From-SVN: r123702
This commit is contained in:
Eric Christopher 2007-04-10 23:00:00 +00:00 committed by Eric Christopher
parent 246b8cf5d7
commit 3783f02682
2 changed files with 34 additions and 4 deletions

View File

@ -1,3 +1,8 @@
2007-04-10 Eric Christopher <echristo@apple.com>
* lib/target-supports.exp
(check_effective_target_fstack_protector): Rewrite.
2007-04-09 Mark Mitchell <mark@codesourcery.com>
PR c++/31449

View File

@ -492,11 +492,36 @@ proc check_effective_target_fopenmp {} {
}
# Return 1 if the target supports -fstack-protector
proc check_effective_target_fstack_protector {} {
return [check_no_compiler_messages fstack_protector assembly {
void foo (void) { }
} "-fstack-protector"]
global tool
set result ""
set src stack_prot[pid].c
set exe stack_prot[pid].x
verbose "check_effective_target_fstack_protector compiling testfile $src" 2
set f [open $src "w"]
# Compile a small test program.
puts $f "int main (void)\n { return 0; }\n"
close $f
set opts "additional_flags=-fstack-protector"
set lines [${tool}_target_compile $src $exe executable "$opts" ]
file delete $src
if [string match "" $lines] then {
# No error messages, everything is OK.
set result [${tool}_load "./$exe" "" ""]
set status [lindex $result 0]
remote_file build delete $exe
verbose "check_iconv_available status is <$status>" 2
if { $status == "pass" } then {
return 1
}
}
return 0
}
# Return 1 if compilation with -freorder-blocks-and-partition is error-free