This is the mail archive of the libc-help@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: pthread_cond_* does not compile on i386


Carlos O'Donell wrote:
On Mon, May 5, 2008 at 2:55 AM, Gilles Carry <Gilles.Carry@bull.net> wrote:
I thought asm files were supposed to be only optimizations of existing C
code.

This is not true. Did you read this somewhere?

I asked this on libc-alpha. The answer was: >Is asm code supposed to do exactly the same as C code?

of course ... things would be broken otherwise
...
>> Should C code be the reference? Should asm be modified only when we are
>> sure C is ok? It is a problem when people change asm code without updating
>> the underlying C files.


you should modify whatever your target platform uses



The asm files can be a complete implementation.


For example the *context() routines are very difficult to write in C,
possible with the use of some GCC extensions, but they are almost
always written completely in assembly.


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.


At one point the generic C code probably worked, but after the asm
files were written nobody bothered to build without them. As time
passed it bit rotted.

It's a pity.



Are you working on NPTL instrumentation? I saw the Bull presentation
at OLS several years ago and I was *very* impressed. I would like
nothing more than to see that code go into libc proper.

I'm not working on the same project. I'm working on PI implementation for condvars.

Gilles.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]