[Various] libc/2512: linxuthreads does not allow signal handlers to run on alternate stack

Jakub Jelinek jakub@redhat.com
Wed Sep 5 02:02:00 GMT 2001


On Tue, Sep 04, 2001 at 11:43:15PM -0700, drepper@redhat.com wrote:
> Andreas Jaeger <aj@suse.de> writes:
> 
> > One without.
> 
> When not using %gs the thread is determined based on the stack
> pointer.  How can this possibly work with an alternative stack?

It could work if non-floating-stacks libpthread intercepted sigaltstack,
which would:
a) set __pthread_nonstandard_stacks = 1
b) record that alternate stack into thread structure

and __pthread_find_self would check those too.
Ugly as hell, but could possibly work. Not that I want to do anything about
it.
BTW: Could we enable %gs threads on non-i686 IA-32 too?

	Jakub



More information about the Libc-alpha mailing list