Re: RFC: 'more signals' patch, 2.1.33

Richard Henderson (
Tue, 15 Apr 1997 15:42:54 -0500 (CDT)

> When some day the size of sigset_t is
> changed and the implementation in the libc has to changed, we'll use
> the symbol versioning of glibc-2.1 and above to hide this. Old
> program will continue to work since the old definition of sigaction
> will still be available for them.

Symbol versioning will not help. As I indicated, the issue is that
there is not room to store the entire state of the signal.

Thus the application, using an increased sigset_t size, sets up an
sa_mask with bit 1500 set. A library, having only room for 1024
bits, is not able to save the entire set, and so only the low 1024
are saved and restored.

Symbol versioning handles the difficulty of garbage on the stack
when the size of struct sigaction changes, but not the higher-level
issues like what happens when two versions of the function are in
use simultaneously.