Description: Fix ld-bootstrap testsuite when configured with --enable-plugins
authorMatthias Klose <doko@debian.org>
Wed, 13 Jul 2022 18:11:01 +0000 (19:11 +0100)
committerRaspbian forward porter <root@raspbian.org>
Wed, 13 Jul 2022 18:11:01 +0000 (19:11 +0100)
Upstream status: proposed patch

Upstream status: proposed patch

Gbp-Pq: Name 131_ld_bootstrap_testsuite.patch

ld/testsuite/ld-bootstrap/bootstrap.exp

index f6d38af5d4090a4ad278ca4eab0e3db405a1bca6..3d6ec0a08e7e81de0cff87261d39dbc562ba2166 100644 (file)
@@ -50,6 +50,15 @@ if [check_plugin_api_available] {
     set plugins "yes"
 }
 
+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
@@ -118,6 +127,11 @@ foreach flags $test_flags {
        continue
     }
 
+    if { $flags == "--static" && $plugins == "yes" } then {
+       untested $testname
+       continue
+    }
+
     # If we only have a shared libbfd, we probably can't run the
     # --static test.
     if { $flags == "--static" && ! [string match "*libbfd.a*" $BFDLIB] } then {
@@ -168,6 +182,10 @@ foreach flags $test_flags {
        }
     }
 
+    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"} {