Hi Waldemar,
Thanks for your answer.
> Has anybody else seen pthread_cond_wait()
issues on x86_64?
The test failures for x86_64 are still high:
http://tests.embedded-test.org/uClibc-
ng/1.0.15/REPORT.x86_64.libc.uClibc-ng-1.0.15
I don't see some of these test failures here locally, but instead see
failing others. But obviously there are other issues on x86_64 than the
one I've stumbled upon.
Can you compare with GNU libc
pthread_cond_wait()?
Do they use an assembler version or just C?
It seems that glibc uses the assembler variants on x86_64.
Your testcase works with GNU libc. Do you like do
find out
what is wrong in the assembly in our files? A diff shows
some differences...
The differences I could spot were mostly related to two fixes for the
priority inversion Futex code, namely glibc commits c30e8edf
and 0e3b5d6a. Not sure, but likely these are related to the issues we
see.
I would rather like to sync with GNU libc, as the
whole NPTL/TLS
stuff is mostly from there.
That certainly makes sense. All the changes glibc has seen are not
trivial, though, and unfortunately I'm not sure if I can find the time
to work on a proper patch set at this time :-/.
You are right very diverted the code.
Better a working C implementation, then a fast and broken assembly
implementation.
See commit: