This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: linux 2.1.71 and libc
- To: hjl at lucon dot org (H.J. Lu)
- Subject: Re: linux 2.1.71 and libc
- From: Horst von Brand <vonbrand at sleipnir dot valparaiso dot cl>
- Date: Sun, 07 Dec 1997 10:00:16 -0300
- 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)
hjl@lucon.org (H.J. Lu) said:
> "Horst von Brand" at Dec 5, 97 07:10:52 am said:
> > 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.
Hum.... I had to take a look at this (I needed to compile modutils-2.1.55,
but the compilation blew up due to incorrect types). The fix for this is
simple: In /usr/include/signal.h there are several #defines for the sigset
manipulation functions that assume 32 bits (or an unsigned long, at least),
they are at the start of an #ifdef __OPTIMIZE__ Just move the #ifdef 0 a
couple of lines lower up, and they aren't included. This will need a closer
look...
OTOH, I took a look at the whole stuff in 2.1.71, and I can't see anything
that might break 32-signal applications in there. If it did, my system
wouldn't work, I guess...
--
Horst von Brand vonbrand@sleipnir.valparaiso.cl
Casilla 9G, Viņa del Mar, Chile +56 32 672616