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.
This commit is contained in:
David Daney
2011-12-16 06:18:55 +00:00
parent 083a553414
commit fb35d3d8fa
6 changed files with 56 additions and 7 deletions

View File

@@ -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 } {