Versioning longjmp etc.
Steve Munroe
sjmunroe@us.ibm.com
Fri Oct 17 20:47:00 GMT 2003
We are looking at integrating Vector Extensions (AKA Altivec or VMX) into
glibc for PPC32/PPC64. This will change the size of __jmp_buf and
sigcontext/ucontext and requires versioning of the corresponding functions
(setjmp/longjmp etc).
I assume this includes the complete function stack, for example
[siglongjmp | longjmp] -> [__libc_siglongjmp | __libc_longjmp] ->
__longjmp.
But looking at linuxthreads/ptlongjmp.c and nptl/pt-longjmp.c I don't
understand why we need the siglongjmp()/longjmp() stubs. They add
path-length without adding any function (at least in the current
implementation).
So could these stubs be eliminated and replaced with aliases? If they are
required where should I move ptlongjmp.c to (sysdeps/pthreads,
sysdeps/generic, ...) so I can override it for powerpc[32 | 64]? Or should
the siglongjmp()/longjmp() stubs be split out of ptlongjmp.c?
More information about the Libc-hacker
mailing list