This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
linux 2.1.71 and libc
- To: vonbrand at sleipnir dot valparaiso dot cl (Horst von Brand)
- Subject: linux 2.1.71 and libc
- From: hjl at lucon dot org (H.J. Lu)
- Date: Sat, 6 Dec 1997 14:32:29 -0800 (PST)
- Cc: drepper at gnu dot ai dot mit dot edu (Ulrich Drepper), libc-linux at gnu dot ai dot mit dot edu (GNU C Library), egcs at cygnus dot com, linux-gcc at vger dot rutgers dot edu (linuxgcc), linux-kernel at vger dot rutgers dot edu (linux kernel)
>
> linux-2.1.71, libc-5.4.41, binutils-2.8.1.0.17;
There is a problem with linux-2.1.71 and libc 5.4.41. I haven't
found a good solution for it yet.
sigset_t is changed in linux-2.1.71 to 64 bits. That breaks libc 5.4.x.
Also many older binaries using 32 bit sigset_t may not work properly
under linux-2.1.71.
It happens to glibc 2 also. The latest glibc 2.1 also has 64-bit
sigset_t. As the result, old binaries won't work very well. It may
be easier to deal with in glibc 2 using ELF versioning. But it is
not so for libc 5.4.x. For libc 5.4.x, I may do
extern xxxx _new_sigxxxx (xxx);
#define sigxxxx _new_sigxxxx
Ulrich, could you please fix it for glibc 2.1?
BTW, we have to translate between old and new kernel/sigset_t at
the run time. It is a very tricky one.
Linus, I think we shoud provide a new system call for each old system
call which uses sigset_t. Otherwise, we may run into many trouble
with old binaries.
Thanks.
H.J.