diff options
author | Alan Modra <amodra@gmail.com> | 2017-12-07 17:50:57 +1030 |
---|---|---|
committer | Alan Modra <amodra@gmail.com> | 2017-12-07 17:52:49 +1030 |
commit | 05a5feafdd3869b81533993a23c344d60baa56de (patch) | |
tree | c055decac0fe025f4b3f4b82d5ee61202c75c636 | |
parent | 34ac47f671d870c62635cac209d8df4250f20192 (diff) | |
download | gdb-05a5feafdd3869b81533993a23c344d60baa56de.zip gdb-05a5feafdd3869b81533993a23c344d60baa56de.tar.gz gdb-05a5feafdd3869b81533993a23c344d60baa56de.tar.bz2 |
Rewrite check_shared_lib_support
* testsuite/lib/ld-lib.exp (check_shared_lib_support): Ask ld
under test whether -shared is supported.
-rw-r--r-- | ld/ChangeLog | 5 | ||||
-rw-r--r-- | ld/testsuite/lib/ld-lib.exp | 63 |
2 files changed, 16 insertions, 52 deletions
diff --git a/ld/ChangeLog b/ld/ChangeLog index d4758d4..5d51420 100644 --- a/ld/ChangeLog +++ b/ld/ChangeLog @@ -1,3 +1,8 @@ +2017-12-07 Alan Modra <amodra@gmail.com> + + * testsuite/lib/ld-lib.exp (check_shared_lib_support): Ask ld + under test whether -shared is supported. + 2017-12-06 Jim Wilson <jimw@sifive.com> * testsuite/ld-elf/interleave-0.d, testsuite/ld-elf/interleave-4.d, diff --git a/ld/testsuite/lib/ld-lib.exp b/ld/testsuite/lib/ld-lib.exp index 280a7b1..f960824 100644 --- a/ld/testsuite/lib/ld-lib.exp +++ b/ld/testsuite/lib/ld-lib.exp @@ -1782,61 +1782,20 @@ proc check_gc_sections_available { } { } # Returns true if -shared is supported on the target -# Only used and accurate for ELF targets at the moment proc check_shared_lib_support { } { - if {![istarget aarch64*-*-elf] - && ![istarget arc*-*-elf*] - && ![istarget arm*-*-elf] - && ![istarget avr-*-*] - && ![istarget cr16-*-*] - && ![istarget cris*-*-elf] - && ![istarget crx-*-*] - && ![istarget d10v-*-*] - && ![istarget d30v-*-*] - && ![istarget dlx-*-*] - && ![istarget epiphany-*-*] - && ![istarget fr30-*-*] - && ![istarget frv-*-elf] - && ![istarget ft32-*-*] - && ![istarget h8300-*-*] - && ![istarget i860-*-*] - && ![istarget i960-*-*] - && ![istarget ip2k-*-*] - && ![istarget iq2000-*-*] - && ![istarget lm32-*-elf] - && ![istarget lm32-*-rtems*] - && ![istarget m32c-*-*] - && ![istarget m32r-*-elf] - && ![istarget m6811-*-*] - && ![istarget m6812-*-*] - && ![istarget m68hc1*-*-*] - && ![istarget mcore*-*-*] - && ![istarget mep-*-*] - && ![istarget microblaze-*-elf] - && ![istarget mips*-*-elf] - && ![istarget mn10200-*-*] - && ![istarget moxie-*-*] - && ![istarget msp430-*-*] - && ![istarget mt-*-*] - && ![istarget nds32*-*-elf] - && ![istarget nios2-*-elf] - && ![istarget or1k*-*-elf] - && ![istarget pj-*-*] - && ![istarget pru-*-*] - && ![istarget rl78-*-*] - && ![istarget rx-*-*] - && ![istarget spu-*-*] - && ![istarget v850*-*-*] - && ![istarget visium-*-*] - && ![istarget xc16x-*-elf] - && ![istarget xgate-*-*] - && ![istarget xstormy16-*-*] - && ![istarget *-*-irix*] - && ![istarget *-*-rtems] } { - return 1 + global shared_available_saved + global ld + + if {![info exists shared_available_saved]} { + set ld_output [remote_exec host $ld "-shared"] + if { [ string first "not supported" $ld_output ] >= 0 } { + set shared_available_saved 0 + } else { + set shared_available_saved 1 + } } - return 0 + return $shared_available_saved } # Return true if target uses genelf.em (assuming it is ELF). |