[PATCH] libstdc++: 60241.cc: tolerate slightly shorter aggregate sleep

Alexandre Oliva oliva@adacore.com
Thu Jun 23 11:33:26 GMT 2022

On Jun 23, 2022, Sebastian Huber <sebastian.huber@embedded-brains.de> wrote:

> On 23/06/2022 08:44, Sebastian Huber wrote:
>> http://devel.rtems.org/ticket/4669


> This problem should be fixed now in the RTEMS master branch.

Double thanks!  I've applied the patch, and I haven't seen the fails any
more.  It's a little too soon to confirm it fixed, but the patch makes
plenty of sense.

> I had to adjust the test case so that it works in a system with only
> one processor:

*nod*, I ran into that myself, and IIRC I've pushed an equivalent fix
earlier this week.

Anyway...  I was considering this xfail patch before, and I wonder if it
would still be appropriate to install something like it, narrowed down
to rtems < 6.1, or if it would be better to let it fail noisily so that
people look it up, find the fix proper and merge it.

libstdc++: xfail nanosleep tests on rtems

Since it has been determined that nanosleep may return slightly too
early on RTEMS, due to clock resolution differences, expect
30_thread/this_thread tests that have detected too-early wakeups to
fail on RTEMS targets.

for  libstdc++-v3/ChangeLog

	* testsuite/30_threads/this_thread/60421.cc: xfail on RTEMS.
 .../testsuite/30_threads/this_thread/60421.cc      |    1 +
 1 file changed, 1 insertion(+)

diff --git a/libstdc++-v3/testsuite/30_threads/this_thread/60421.cc b/libstdc++-v3/testsuite/30_threads/this_thread/60421.cc
index 12dbeba1cc492..4d86e0df20de4 100644
--- a/libstdc++-v3/testsuite/30_threads/this_thread/60421.cc
+++ b/libstdc++-v3/testsuite/30_threads/this_thread/60421.cc
@@ -23,6 +23,7 @@
 // { dg-require-gthreads "" }
 // { dg-require-time "" }
 // { dg-require-sleep "" }
+// { dg-xfail-if "nanosleep may wake up too early" { *-*-rtems* } }
 #include <thread>
 #include <chrono>

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>

More information about the Gcc-patches mailing list