freebsd-dev/lib/libc_r
Marcel Moolenaar cafd6dbd76 Fix threaded applications on ia64 that are linked dynamicly. We did
not save (restore) the global pointer (GP) in the jmpbuf in setjmp
(longjmp) because it's not needed in general. GP is considered a
scratch register at callsites and hence is always restored after a
call (when it's possible that the call resolves to a symbol in a
different loadmodule; otherwise GP does not have to be saved and
restored at all), including calls to setjmp/longjmp. There's just
one problem with this now that we use setjmp/longjmp for context
switching: A new context must have GP defined properly for the
thread's entry point. This means that we need to put GP in the
jmpbuf and consequently that we have to restore is in longjmp.
This automaticly requires us to save it as well.

When setjmp/longjmp isn't used for context switching, this can be
reverted again.
2003-03-05 04:39:24 +00:00
..
arch Add an implementation of _atomic_lock for sparc64. This was submitted by 2003-01-05 22:23:11 +00:00
man Fixed a typo in MLINKS. 2003-02-24 22:59:01 +00:00
sys remove #ifdef _THREAD_SAFE 2003-01-24 01:46:30 +00:00
test Fix a couple of minor nits that prevented this from compiling. 2002-07-02 01:26:16 +00:00
uthread Fix threaded applications on ia64 that are linked dynamicly. We did 2003-03-05 04:39:24 +00:00
Makefile Zap now-unused SHLIB_MINOR 2002-09-28 00:25:32 +00:00