From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 2140) id E5B3638418A0; Mon, 27 Jun 2022 13:34:59 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org E5B3638418A0 MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset="utf-8" From: Alexandre Oliva To: gcc-cvs@gcc.gnu.org, libstdc++-cvs@gcc.gnu.org Subject: [gcc r13-1292] libstdc++: xfail experimental/net tests on rtems X-Act-Checkin: gcc X-Git-Author: Alexandre Oliva X-Git-Refname: refs/heads/master X-Git-Oldrev: b06a282921c71bbc5cab69bc515804bd80f55e92 X-Git-Newrev: 250b95a99487b5d19f54067c0b420fe252062aac Message-Id: <20220627133459.E5B3638418A0@sourceware.org> Date: Mon, 27 Jun 2022 13:34:59 +0000 (GMT) X-BeenThere: libstdc++-cvs@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libstdc++-cvs mailing list List-Unsubscribe: , List-Archive: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 27 Jun 2022 13:35:00 -0000 https://gcc.gnu.org/g:250b95a99487b5d19f54067c0b420fe252062aac commit r13-1292-g250b95a99487b5d19f54067c0b420fe252062aac Author: Alexandre Oliva Date: Mon Jun 27 10:34:14 2022 -0300 libstdc++: xfail experimental/net tests on rtems Some net/timer/waitable tests fail on rtems because poll() is not available. The above, as well as net/internet/resolver/ops tests and net/timer/waitable/cons.cc, will fail early at runtime unless mkfifo is enabled in the RTEMS configuration, because the io_context ctor throws when pipe() fails. However, even enabling pipes and adjusting the net_ts link command to use --gc-sections for -lbsd as recommended, both net/internet/resolver/ops still fail at runtime. for libstdc++-v3/ChangeLog * testsuite/lib/dg-options.exp (add_options_for_net_ts): Add -Wl,--gc-sections for RTEMS targets. * testsuite/experimental/net/timer/waitable/dest.cc: Link-time xfail on RTEMS. * testsuite/experimental/net/timer/waitable/ops.cc: Likewise. * testsuite/experimental/net/internet/resolver/ops/lookup.cc: Execution-time xfail on RTEMS. * testsuite/experimental/net/internet/resolver/ops/reverse.cc: Likewise. Diff: --- .../testsuite/experimental/net/internet/resolver/ops/lookup.cc | 1 + .../testsuite/experimental/net/internet/resolver/ops/reverse.cc | 1 + libstdc++-v3/testsuite/experimental/net/timer/waitable/dest.cc | 1 + libstdc++-v3/testsuite/experimental/net/timer/waitable/ops.cc | 1 + libstdc++-v3/testsuite/lib/dg-options.exp | 6 +----- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/libstdc++-v3/testsuite/experimental/net/internet/resolver/ops/lookup.cc b/libstdc++-v3/testsuite/experimental/net/internet/resolver/ops/lookup.cc index eb411dea836..0ac9cb3513d 100644 --- a/libstdc++-v3/testsuite/experimental/net/internet/resolver/ops/lookup.cc +++ b/libstdc++-v3/testsuite/experimental/net/internet/resolver/ops/lookup.cc @@ -18,6 +18,7 @@ // { dg-do run { target c++14 } } // { dg-require-effective-target net_ts_ip } // { dg-add-options net_ts } +// { dg-xfail-run-if "io_context requires a working pipe" { *-*-rtems* } } #include #include diff --git a/libstdc++-v3/testsuite/experimental/net/internet/resolver/ops/reverse.cc b/libstdc++-v3/testsuite/experimental/net/internet/resolver/ops/reverse.cc index 361df2676ef..dfdf855c68c 100644 --- a/libstdc++-v3/testsuite/experimental/net/internet/resolver/ops/reverse.cc +++ b/libstdc++-v3/testsuite/experimental/net/internet/resolver/ops/reverse.cc @@ -18,6 +18,7 @@ // { dg-do run { target c++14 } } // { dg-require-effective-target net_ts_ip } // { dg-add-options net_ts } +// { dg-xfail-run-if "io_context requires a working pipe" { *-*-rtems* } } #include #include diff --git a/libstdc++-v3/testsuite/experimental/net/timer/waitable/dest.cc b/libstdc++-v3/testsuite/experimental/net/timer/waitable/dest.cc index f571f4a8d86..384f768c2b5 100644 --- a/libstdc++-v3/testsuite/experimental/net/timer/waitable/dest.cc +++ b/libstdc++-v3/testsuite/experimental/net/timer/waitable/dest.cc @@ -17,6 +17,7 @@ // { dg-do run { target c++14 } } // { dg-add-options libatomic } +// { dg-xfail-if "poll not available" { *-*-rtems* } } #include #include diff --git a/libstdc++-v3/testsuite/experimental/net/timer/waitable/ops.cc b/libstdc++-v3/testsuite/experimental/net/timer/waitable/ops.cc index 97ab629b893..815ad715780 100644 --- a/libstdc++-v3/testsuite/experimental/net/timer/waitable/ops.cc +++ b/libstdc++-v3/testsuite/experimental/net/timer/waitable/ops.cc @@ -17,6 +17,7 @@ // { dg-do run { target c++14 } } // { dg-add-options libatomic } +// { dg-xfail-if "poll not available" { *-*-rtems* } } #include #include diff --git a/libstdc++-v3/testsuite/lib/dg-options.exp b/libstdc++-v3/testsuite/lib/dg-options.exp index b61c4c0cb8f..cc312edc172 100644 --- a/libstdc++-v3/testsuite/lib/dg-options.exp +++ b/libstdc++-v3/testsuite/lib/dg-options.exp @@ -281,11 +281,7 @@ proc add_options_for_net_ts { flags } { 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 -lbsd -Wl,--gc-sections" } return $flags }