diff options
-rw-r--r-- | ld/testsuite/ChangeLog | 5 | ||||
-rw-r--r-- | ld/testsuite/ld-bootstrap/bootstrap.exp | 24 |
2 files changed, 28 insertions, 1 deletions
diff --git a/ld/testsuite/ChangeLog b/ld/testsuite/ChangeLog index 6ace277..a038762 100644 --- a/ld/testsuite/ChangeLog +++ b/ld/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2009-10-16 Rafael Avila de Espindola <espindola@google.com> + + * bootstrap.exp: Detect if plugins are enabled. Skip the static + link test and add -ldl to the remaining tests if they are. + 2009-10-14 Joseph Myers <joseph@codesourcery.com> * ld-scripts/phdrs3.d: Allow colon in name of linker binary. diff --git a/ld/testsuite/ld-bootstrap/bootstrap.exp b/ld/testsuite/ld-bootstrap/bootstrap.exp index 96bd706..ecc760a 100644 --- a/ld/testsuite/ld-bootstrap/bootstrap.exp +++ b/ld/testsuite/ld-bootstrap/bootstrap.exp @@ -30,6 +30,16 @@ if ![isnative] { return } +# Determine if plugin support is present. +remote_exec host "$nm --help" "" "/dev/null" "plugin-support" +set tmp [file_contents "plugin-support"] +regexp ".*\(--plugin\).*\n" $tmp foo plugins +if [info exists plugins] then { + set plugins "yes" +} else { + set plugins "no" +} + # Bootstrap ld. First link the object files together using -r, in # order to test -r. Then link the result into an executable, ld1, to # really test -r. Use ld1 to link a fresh ld, ld2. Use ld2 to link a @@ -61,8 +71,15 @@ foreach flags {"" "strip" "--static" "--traditional-format" continue } + # Plugin support requires linking with a dynamic library which + # means that these + if { $flags == "--static" && $plugins == "yes" } then { + untested $testname + continue + } + # If we only have a shared libbfd, we probably can't run the - # --static test. + # --static test.will fail. if { $flags == "--static" && ! [string match "*libbfd.a*" $BFDLIB] } then { untested $testname continue @@ -91,6 +108,11 @@ foreach flags {"" "strip" "--static" "--traditional-format" } } + # Plugin support requires linking with libdl. + if { $plugins == "yes" } { + set extralibs "$extralibs -ldl" + } + # On Irix 5, linking with --static only works if all the files are # compiled using -non_shared. if {"$flags" == "--static"} { |