This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Re: [PATCH v8 6/8] nptl: Add abilist symbols for C11 threads
On 13/07/2018 14:49, Florian Weimer wrote:
> On 07/13/2018 05:49 PM, Adhemerval Zanella wrote:
>
>> Thanks for all the reviews, I have updated my personal branch [1] with
>> all you required changes:
>
> Thank you for your patience. This is looking really good now.
>
>> - ABI fixes for mips-gnu-linux-soft.
>
> I can confirm that these are fixed.
>
>> - pthread_create / pthread_join cast inconsistency.
>> - sysdeps/nptl/threads.h moved to nptl/threads.h.
>> - thrd_sleep is now a cancellable entrypoint.
>> - once_flag and ONCE_FLAG_INIT and __ONCE_ALIGNMENT definition.
>
> Should the type be a struct?
>
> I think ONCE_FLAG_INIT needs to be a compound literal, not an initializer, at least that's how I read the standard (“which expands to a value that can be used to initialize an object”).
Right, you are correct, this will prevent ONCE_FLAG_INIT to be wrongly
used to initialize other objects than once_flag. I adjust to be a
struct as well.
>
>> - thread_local guards for C++.
>
> Missing indentation of the #define. The manual could mention that for C++, C++11 or later needs to be used to get the thread_local keyword (not the macro).
Ack and I added a note on manual about C++11 requirement.
>
>> - TSS_DTOR_ITERATIONS assert check.
>>
>> I am not sure about the thread error code mapping to errno, it will
>> required tying POSIX error code to C11 use some internal mechanism
>> It will most like require generate a platform-specific file
>> auto-generated from errno definitions (more build complexity), and
>> I am not sure if this micro-optimization will really yields any
>> measurable gain.
>
> I'm fine with leaving it as is.