[uClibc]syscalls.c

Michael Shmulevich michaels at jungo.com
Sun Jun 24 08:20:03 UTC 2001


> 
>>Also, most of the syscalls that are implemented use strong names
>>instead of weak, so it isn't possible to link in a different
>>implementation if necessary.  Glibc, for example, defines the
>>syscall as "__name" and does a weak_alias(__name, name).  That way
>>you can write your own "name" implementation which overrides the
>>syscall.  uClibc defines the syscall as "name", which prevents
>>overrides.  Again, is there a reason for this that I just don't see?
>>
> 
> Each weak symbol takes a bit of space in the final binary.  And also since I
> think glibc is being somewhat abusive with the number of weak symbols it uses,
> and since uClibc is intended to be small.
> 
> Do you find you have a need to override syscalls?

Linuxthreads library have an urge to override almost all syscalls, 
setting its cancelation type to something. It expects to find some 
syscalls to be named in a style of __libc_syscall() and not just 
syscall(). Except that, it also expects to use some libc functions using 
their internal name, like __function()... Expect to introduce some 
number of those to uClibc too.


-- 
Sincerely yours,
Michael Shmulevich
______________________________________
Software Developer
Jungo - R&D
email: michaels at jungo.com
web: http://www.jungo.com
Phone: 1-877-514-0537(USA)  +972-9-8859365(Worldwide) ext. 233
Fax:   1-877-514-0538(USA)  +972-9-8859366(Worldwide)






More information about the uClibc mailing list