summaryrefslogtreecommitdiff
path: root/ld/testsuite/lib
diff options
context:
space:
mode:
authorDavid Daney <ddaney@avtrex.com>2011-12-16 06:18:52 +0000
committerDavid Daney <ddaney@avtrex.com>2011-12-16 06:18:52 +0000
commitd47e2cd6f5821ab03e7d3cf33a652dddf301cdde (patch)
treeeb942110f0e9fd6335ca64287cc182103aa29df0 /ld/testsuite/lib
parentc4fcb330c4acad4076a40fb117070fe6d714d029 (diff)
downloadbinutils-redhat-d47e2cd6f5821ab03e7d3cf33a652dddf301cdde.tar.gz
2011-12-15 David Daney <david.daney@cavium.com>
Nick Clifton <nickc@redhat.com> * ld-elfvers/vers.exp (picflag): Set to -fpic for mips*-*-* when using GCC-4.3 or later. (pic): Set to "yes" for mips*-*-linux*. * ld-elfvsb/elfvsb.exp: Don't test non-PIC shared libraried on mips*-*-linux*. (picflag): Set to -fpic for mips*-*-* when using GCC-4.3 or later. * ld-elfweak/elfweak.exp (picflag): Set to -fpic for mips*-*-* when using GCC-4.3 or later. * ld-shared/shared.exp (picflag): Same. * lib/ld-lib.exp (at_least_gcc_version): New proc.
Diffstat (limited to 'ld/testsuite/lib')
-rw-r--r--ld/testsuite/lib/ld-lib.exp25
1 files changed, 25 insertions, 0 deletions
diff --git a/ld/testsuite/lib/ld-lib.exp b/ld/testsuite/lib/ld-lib.exp
index 30098c1ae2..25999e9220 100644
--- a/ld/testsuite/lib/ld-lib.exp
+++ b/ld/testsuite/lib/ld-lib.exp
@@ -27,6 +27,31 @@ proc load_common_lib { name } {
load_common_lib binutils-common.exp
+# Returns 1 if the gcc for the target is at least version MAJOR.MINOR
+# Returns 0 otherwise.
+#
+proc at_least_gcc_version { major minor } {
+
+ if {![info exists CC]} {
+ set CC [find_gcc]
+ }
+ if { $CC == "" } {
+ return 0
+ }
+ set state [remote_exec host $CC --version]
+ set tmp "[lindex $state 1]\n"
+ # Look for (eg) 4.6.1 in the version output.
+ regexp " .* (\[1-9\])\\.(\[0-9\])\\.\[0-9\]* .*" "$tmp" fred maj min
+ verbose "gcc version: $tmp"
+ verbose "major gcc version is $maj, want at least $major"
+ if { $maj == $major } then {
+ verbose "minor gcc version is $min, want at least $minor"
+ return [expr $min >= $minor ]
+ } else {
+ return [expr $maj > $major ]
+ }
+}
+
# Extract and print the version number of ld.
#
proc default_ld_version { ld } {