ld/testsuite
authorYufeng Zhang <yufeng.zhang@arm.com>
Wed, 18 Dec 2013 15:16:41 +0000 (15:16 +0000)
committerYufeng Zhang <yufeng.zhang@arm.com>
Wed, 18 Dec 2013 15:16:41 +0000 (15:16 +0000)
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.

ld/testsuite/ChangeLog
ld/testsuite/lib/ld-lib.exp

index 9b876496d88e370c373f6a16c4f2203058c78f90..f7e6e58296252a6d55ed36c345686e57d77cfeeb 100644 (file)
@@ -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
index 14670fa59644185082fafe35f40237fa8724ffdf..c04b56f11e67668350c869c2c376f712fe8c7b7a 100644 (file)
@@ -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 {