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:
parent
246b8cf5d7
commit
3783f02682
@ -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>
|
2007-04-09 Mark Mitchell <mark@codesourcery.com>
|
||||||
|
|
||||||
PR c++/31449
|
PR c++/31449
|
||||||
|
@ -492,11 +492,36 @@ proc check_effective_target_fopenmp {} {
|
|||||||
}
|
}
|
||||||
|
|
||||||
# Return 1 if the target supports -fstack-protector
|
# Return 1 if the target supports -fstack-protector
|
||||||
|
|
||||||
proc check_effective_target_fstack_protector {} {
|
proc check_effective_target_fstack_protector {} {
|
||||||
return [check_no_compiler_messages fstack_protector assembly {
|
global tool
|
||||||
void foo (void) { }
|
set result ""
|
||||||
} "-fstack-protector"]
|
|
||||||
|
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
|
# Return 1 if compilation with -freorder-blocks-and-partition is error-free
|
||||||
|
Loading…
Reference in New Issue
Block a user