pthread_cond_* does not compile on i386

Gilles Carry Gilles.Carry@bull.net
Mon May 5 06:55:00 GMT 2008


Carlos O'Donell wrote:
> On Wed, Apr 30, 2008 at 7:48 AM, Gilles Carry <Gilles.Carry@bull.net> wrote:
> 
>> After having removed the corresponding asm files, pthread_cond_signal.c
>>fails compiling.
> 
> Why would you remove the asm files that implement the required behaviour?
> 

Just because I wanted to add new features into condvars.


>> Actually, pthread_cond_signal.c uses the macro lll_futex_wake_unlock
>> which is not defined for i386.
>> At least I cannot find it by grepping through the source tree.
>> To have it compiling, I had to rework the syscall macros.
>>
>> Though I can build the rest of glibc without error, I wonder if the C code
>>and asm-i386 are in sync for pthread_cond_* files.
> 
> 
> They don't need to be kept "in sync", the i386 port probably doesn't
> rely on the C code variants of these functions.
> 

Strange.
I thought asm files were supposed to be only optimizations of existing C 
code.
It makes sense to me to modify generic c code first and optimize afterward.
ie. pthread_cond_wait.c is not trivial enough to skip the generic 
C-coding phase and go directly to asm code.

May be I'm missing something.


Gilles.



More information about the Libc-help mailing list