linux 2.1.71 and libc
H.J. Lu
hjl@lucon.org
Sat Dec 6 14:32:00 GMT 1997
>
> 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.
More information about the Gcc
mailing list