Subject: lib/23090: setjmp/longjmp fallout from siginfo changes
To: None <firstname.lastname@example.org>
From: None <email@example.com>
Date: 10/07/2003 15:41:35
>Synopsis: setjmp/longjmp fallout from siginfo changes
>Arrival-Date: Tue Oct 07 22:42:00 UTC 2003
>Originator: Jason R Thorpe
>Release: NetBSD 1.6ZC
System: NetBSD yeah-baby.shagadelic.org 1.6ZC NetBSD 1.6ZC (YEAH-BABY-XP) #20: Sat Sep 20 10:24:38 PDT 2003 firstname.lastname@example.org:/u1/netbsd/src/sys/arch/i386/compile/YEAH-BABY-XP i386
The siginfo changes (and resulting deprecation of sigreturn)
have caused a major backward compatibility problem for
The following platforms use __sigreturn14 to implement their
These platforms no longer having working setjmp/longjmp if
COMPAT_16 is not in the kernel configuration.
Remove COMPAT_16 from your kernel, and attempt to use setjmp/longjmp
on any of the architectures listed above.
Problem was noticed by code inspection.
The right thing to do is to version the setjmp/longjmp family
of functions again (for ALL architectures) and re-implement using
using getcontext()/setcontext(). Perhaps the lightweight versions
of these functions from libpthread could be integrated into libc
for part of the implementation.