diff options
-rw-r--r-- | ld/testsuite/ChangeLog | 5 | ||||
-rw-r--r-- | ld/testsuite/lib/ld-lib.exp | 17 |
2 files changed, 19 insertions, 3 deletions
diff --git a/ld/testsuite/ChangeLog b/ld/testsuite/ChangeLog index 9b87649..f7e6e58 100644 --- a/ld/testsuite/ChangeLog +++ b/ld/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2013-12-18 Vidya Praveen <vidyapraveen@arm.com> + + * lib/ld-lib.exp (check_lto_available): Support cflags, ldflags and + test by compiling for an executable rather than shared library. + 2013-12-13 Vidya Praveen <vidyapraveen@arm.com> * lib/ld-lib.exp (default_ld_link): Use ldflags from board description diff --git a/ld/testsuite/lib/ld-lib.exp b/ld/testsuite/lib/ld-lib.exp index 14670fa..c04b56f 100644 --- a/ld/testsuite/lib/ld-lib.exp +++ b/ld/testsuite/lib/ld-lib.exp @@ -1644,6 +1644,17 @@ proc check_plugin_api_available { } { proc check_lto_available { } { global lto_available_saved global CC + + set flags "" + + if [board_info [target_info name] exists cflags] { + append flags " [board_info [target_info name] cflags]" + } + + if [board_info [target_info name] exists ldflags] { + append flags " [board_info [target_info name] ldflags]" + } + if {![info exists lto_available_saved]} { # Check if gcc supports -flto -fuse-linker-plugin if { [which $CC] == 0 } { @@ -1652,11 +1663,11 @@ proc check_lto_available { } { } set basename "lto" set src ${basename}[pid].c - set output ${basename}[pid].so + set output ${basename}[pid].out set f [open $src "w"] - puts $f "" + puts $f "int main() { return 0; }" close $f - set status [remote_exec host $CC "-shared -B[pwd]/tmpdir/ld/ -flto -ffat-lto-objects -fuse-linker-plugin $src -o $output"] + set status [remote_exec host $CC "$flags -B[pwd]/tmpdir/ld/ -flto -ffat-lto-objects -fuse-linker-plugin $src -o $output"] if { [lindex $status 0] == 0 } { set lto_available_saved 1 } else { |