Networking functions that net_ts tests rely on are defined in libbsd
on RTEMS, so link with it.

Regstrapped on x86_64-linux-gnu, also tested with a cross to
aarch64-rtems6.  Ok to install?


for  libstdc++-v3/ChangeLog

        * testsuite/lib/dg-options.exp (add_options_for_net_ts): Add
        -lbsd for RTEMS targets.
---
 libstdc++-v3/testsuite/lib/dg-options.exp |    6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/libstdc++-v3/testsuite/lib/dg-options.exp 
b/libstdc++-v3/testsuite/lib/dg-options.exp
index 203bb0dfed505..15f37da468a5b 100644
--- a/libstdc++-v3/testsuite/lib/dg-options.exp
+++ b/libstdc++-v3/testsuite/lib/dg-options.exp
@@ -253,6 +253,12 @@ proc add_options_for_net_ts { flags } {
     # libsocket and libnsl for networking applications.
     if { [istarget *-*-solaris2*] } {
        return "$flags -lsocket -lnsl"
+    } elseif { [istarget *-*-rtems*] } {
+       # Adding -Wl,--gc-sections would enable a few more tests to
+       # link, but all of them fail at runtime anyway, because the
+       # io_context ctor calls pipe(), which always fails, and thus
+       # the ctor throws a system error.
+       return "$flags -lbsd"
     }
     return $flags
 }

-- 
Alexandre Oliva, happy hacker                https://FSFLA.org/blogs/lxo/
   Free Software Activist                       GNU Toolchain Engineer
Disinformation flourishes because many people care deeply about injustice
but very few check the facts.  Ask me about <https://stallmansupport.org>

Reply via email to