From e10461aebd2c9165c168583e70e7901e962ed1bb Mon Sep 17 00:00:00 2001 From: "H.J. Lu" Date: Mon, 27 Jul 2015 03:42:39 -0700 Subject: [PATCH] Set PLT_CFLAGS to "-fplt" if supported GCC 6 supports -fno-plt. But some linker tests expect PLT. This patch defines PLT_CFLAGS to "-fplt" if target compiler supports it. * config/default.exp (PLT_CFLAGS): New. --- ld/testsuite/ChangeLog | 4 ++++ ld/testsuite/config/default.exp | 35 +++++++++++++++++++++++++++++++++ 2 files changed, 39 insertions(+) diff --git a/ld/testsuite/ChangeLog b/ld/testsuite/ChangeLog index db1302ff35..a81149cb0a 100644 --- a/ld/testsuite/ChangeLog +++ b/ld/testsuite/ChangeLog @@ -1,3 +1,7 @@ +2015-07-27 H.J. Lu + + * config/default.exp (PLT_CFLAGS): New. + 2015-07-27 Szabolcs Nagy PR ld/18705 diff --git a/ld/testsuite/config/default.exp b/ld/testsuite/config/default.exp index e25189b733..5acc963dbb 100644 --- a/ld/testsuite/config/default.exp +++ b/ld/testsuite/config/default.exp @@ -278,3 +278,38 @@ if ![info exists LD] then { if ![info exists LDFLAGS] then { set LDFLAGS {} } + +# Set PLT_CFLAGS to "-fplt" if target compiler supports it. + +if { ![info exists PLT_CFLAGS] } then { + if { [which $CC] != 0 } { + # Check if gcc supports -fplt + 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]" + } + + set basename "tmpdir/plt[pid]" + set src ${basename}.c + set output ${basename}.o + set f [open $src "w"] + puts $f "" + close $f + remote_download host $src + set plt_available [run_host_cmd_yesno "$CC" "$flags -c -fplt $src -o $output"] + remote_file host delete $src + remote_file host delete $output + file delete $src + + if { $plt_available == 1 } then { + set PLT_CFLAGS "-fplt" + } else { + set PLT_CFLAGS "" + } + } else { + set PLT_CFLAGS "" + } +} -- 2.34.1