Home | History | Annotate | only in /src/lib/libc/arch/hppa/gen
History log of /src/lib/libc/arch/hppa/gen
RevisionDateAuthorComments
 1.15 28-Jun-2006  drochner build frexp/ldexp/modf in the "compat" part (code is identical)
(These are the easy cases where no assembler implementations exist.)
 1.14 15-Apr-2005  kleink Push back the descriptions of NaN formats, and descriptions of the
distinction between signalling NaNs and quiet NaNs back into the
machine-dependent headers; treat the implementation of __nanf in the
same spirit.

IEEE 754 leaves the distinction between signalling NaNs and quiet NANs
to the implementation, and unlike our headers used to suggest they're
not identical in the interpretation of the fraction's MSb; in due
course, make those of hppa, mips, sh3, and sh5 reflect reality.
 1.13 19-Feb-2005  tsutsui branches: 1.13.2;
Add (missed) fabs.c to SRCS.
 1.12 24-Jul-2004  chs add missing FP functions, from openbsd.
 1.11 18-Jul-2004  chs added new files for context, LWP and siginfo support.
 1.10 04-Mar-2004  kleink * Turn isinf(3) and isnan(3) into C99-style macros.
* Make it possible for ports to override these (i.e., VAX).
* Remove isnanl(), which was internal to libc only.
 1.9 15-Jan-2004  kleink Add C99 fpclassify(), isfinite(), isnormal(), and signbit() macros.
 1.8 30-Oct-2003  kleink It turns out the hppa ABI we're using does not support an extended-
precision type, so drop the library support for now but leave in place
(#ifdef _LP64) the header definitions.
 1.7 25-Oct-2003  kleink Add __infinityf and __infinityl, float respectively long double analogs
of __infinity.
 1.6 24-Oct-2003  kleink * Since there is no single portable IEEE 754 format for a long double,
keep a common implementation of isinfl() and isnanl() to be used by
platforms where `long double' == `double'; move others into
machine-dependent code.
* In due course, consider __VFP_FP__ on arm.
 1.5 17-May-2003  thorpej Build _isinfl() and _isnanl().
 1.4 12-May-2003  kleink Rename ieee754_function.c to function_ieee754.c, following the convention
used in exec_format.c, loadfile_format.c, subsys_machdep.c etc.
Per discussion with Christos.
 1.3 26-Oct-2002  thorpej * Use the common ieee754_* routines (and add ones we were missing).
* Note that several routines are still missing for hppa.
 1.2 01-Jul-2002  fredette Changes to allow libc to compile as PIC on the hppa.
 1.1 06-Jun-2002  fredette Added hppa support (some of it incomplete) to lib/csu, lib/libc,
and lib/libkvm.
 1.13.2.1 19-Apr-2005  tron Pull up revision 1.14 (requested by kleink in ticket #163):
Push back the descriptions of NaN formats, and descriptions of the
distinction between signalling NaNs and quiet NaNs back into the
machine-dependent headers; treat the implementation of __nanf in the
same spirit.
IEEE 754 leaves the distinction between signalling NaNs and quiet NANs
to the implementation, and unlike our headers used to suggest they're
not identical in the interpretation of the fraction's MSb; in due
course, make those of hppa, mips, sh3, and sh5 reflect reality.
 1.7 13-Apr-2025  riastradh hppa longjmp: Use _UC_SIGMASK to restore signal mask.

This way, restoring the signal mask and restoring the stack pointer
happen atomically with respect to signal handler calls, whereas using
sigprocmask would restore the signal mask _before_ the stack pointer,
breaking sigaltstack.

The motivation for using sigprocmask first and then setcontext later,
rather than _UC_SIGMASK in setcontext, was to get SA-based libpthead
sigprocmask interposition. But that's long gone and unlikely to come
back.

Tested under qemu with:

atf-run /usr/tests/lib/libc/setjmp | atf-report
atf-run /usr/tests/lib/libpthread/t_siglongjmp | atf-report

PR lib/57946: longjmp fails to restore stack first before restoring
signal mask on most architectures
 1.6 25-Jan-2016  christos branches: 1.6.28;
use __register_t
 1.5 22-Mar-2012  skrll Shut lint up about dp.

From he@
 1.4 28-Apr-2008  martin branches: 1.4.4; 1.4.8;
Remove clause 3 and 4 from TNF licenses
 1.3 24-Dec-2005  perry branches: 1.3.18;
__asm__ -> __asm, __volatile__ -> __volatile
 1.2 14-Sep-2005  he Patterned after the other fixes for __longjmp14.c, include
<compat/include/setjmp.h> also here to make these build.
 1.1 18-Jul-2004  chs split __longjmp14() into a separate file and make it use setcontext()
instead of __sigreturn14(). translated from MIPS.
 1.3.18.1 18-May-2008  yamt sync with head.
 1.4.8.2 28-Apr-2008  martin Remove clause 3 and 4 from TNF licenses
 1.4.8.1 28-Apr-2008  martin file __longjmp14.c was added on branch christos-time_t on 2008-04-28 20:22:56 +0000
 1.4.4.1 17-Apr-2012  yamt sync with head
 1.6.28.1 02-Aug-2025  perseant Sync with HEAD
 1.10 20-Apr-2024  skrll Remove some magic numbers by using genassym.cf
 1.9 05-May-2020  skrll Add a space before any non-nullified instruction. NFCI.
 1.8 04-May-2020  skrll Remove unnecesary #define/#undef _LOCORE
 1.7 03-May-2020  skrll Even more trailing whitespace
 1.6 16-Jul-2016  skrll No need to define PSW_MBS as machine/psl.h provides it for us
 1.5 28-Apr-2008  martin branches: 1.5.8; 1.5.46;
Remove clause 3 and 4 from TNF licenses
 1.4 18-Jul-2004  chs branches: 1.4.24;
split __longjmp14() into a separate file and make it use setcontext()
instead of __sigreturn14(). translated from MIPS.
 1.3 06-Oct-2003  matt Update to new assmbler needs. Add getcontext.S stub.
 1.2 01-Jul-2002  fredette Changes to allow libc to compile as PIC on the hppa.
 1.1 06-Jun-2002  fredette Added hppa support (some of it incomplete) to lib/csu, lib/libc,
and lib/libkvm.
 1.4.24.1 18-May-2008  yamt sync with head.
 1.5.46.1 26-Jul-2016  pgoyette Sync with HEAD
 1.5.8.2 28-Apr-2008  martin Remove clause 3 and 4 from TNF licenses
 1.5.8.1 28-Apr-2008  martin file __setjmp14.S was added on branch christos-time_t on 2008-04-28 20:22:56 +0000
 1.2 28-Apr-2008  martin branches: 1.2.8;
Remove clause 3 and 4 from TNF licenses
 1.1 06-Jun-2002  fredette branches: 1.1.30;
Added hppa support (some of it incomplete) to lib/csu, lib/libc,
and lib/libkvm.
 1.1.30.1 18-May-2008  yamt sync with head.
 1.2.8.2 28-Apr-2008  martin Remove clause 3 and 4 from TNF licenses
 1.2.8.1 28-Apr-2008  martin file __sigsetjmp14.S was added on branch christos-time_t on 2008-04-28 20:22:56 +0000
 1.7 25-Apr-2025  riastradh hppa _lwp_makecontext: Align stack pointer.

PR kern/59327: user stack pointer is not aligned properly
 1.6 25-Apr-2025  riastradh hppa _lwp_makecontext, makecontext: Sort includes.

No functional change intended.

PR kern/59327: user stack pointer is not aligned properly
 1.5 24-Feb-2011  joerg branches: 1.5.56;
Allow storing and receiving the LWP private pointer via ucontext_t
on all platforms except VAX and IA64. Add fast access via register for
AMD64, i386 and SH3 ports. Use this fast access in libpthread to replace
the stack based pthread_self(). Implement skeleton support for Alpha,
HPPA, PowerPC, SPARC and SPARC64, but leave it disabled.

Ports that support this feature provide __HAVE____LWP_GETPRIVATE_FAST in
machine/types.h and a corresponding __lwp_getprivate_fast in
machine/mcontext.h.

This material is based upon work partially supported by
The NetBSD Foundation under a contract with Joerg Sonnenberger.
 1.4 07-Jan-2010  skrll branches: 1.4.2;
Deal with PLABELs in _lwp_makecontext
 1.3 28-Apr-2008  martin branches: 1.3.8;
Remove clause 3 and 4 from TNF licenses
 1.2 12-Jun-2005  lukem branches: 1.2.18;
Add missing __RCSID()
 1.1 18-Jul-2004  chs add *context and LWP support for hppa. translated from MIPS.
 1.2.18.1 18-May-2008  yamt sync with head.
 1.3.8.2 28-Apr-2008  martin Remove clause 3 and 4 from TNF licenses
 1.3.8.1 28-Apr-2008  martin file _lwp.c was added on branch christos-time_t on 2008-04-28 20:22:57 +0000
 1.4.2.1 05-Mar-2011  bouyer Sync with HEAD
 1.5.56.1 02-Aug-2025  perseant Sync with HEAD
 1.4 12-Sep-2013  joerg Pass PICFLAGS down to cc-as-as and use __PIC__ to decide if it is small
vs big PIC mode. Retire -DPIC and -DBIGPIC.
 1.3 28-Apr-2008  martin branches: 1.3.4; 1.3.8; 1.3.28;
Remove clause 3 and 4 from TNF licenses
 1.2 02-Dec-2007  skrll branches: 1.2.6;
Fix include files and change use LEAF_ENTRY_NOPROFILE function to fix
the unwind entry.
 1.1 18-Jul-2004  chs branches: 1.1.16;
add *context and LWP support for hppa. translated from MIPS.
 1.1.16.1 09-Jan-2008  matt sync with HEAD
 1.2.6.1 18-May-2008  yamt sync with head.
 1.3.28.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.3.8.2 28-Apr-2008  martin Remove clause 3 and 4 from TNF licenses
 1.3.8.1 28-Apr-2008  martin file _resumecontext.S was added on branch christos-time_t on 2008-04-28 20:22:57 +0000
 1.3.4.1 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.7 04-May-2024  skrll Remove magic numbers. NFCI.
 1.6 05-May-2020  skrll Add a space before any non-nullified instruction. NFCI.
 1.5 04-May-2020  skrll Remove unnecesary #define/#undef _LOCORE
 1.4 28-Apr-2008  martin branches: 1.4.8;
Remove clause 3 and 4 from TNF licenses
 1.3 18-Jul-2004  chs branches: 1.3.24;
call abort() if longjmperror() returns.
 1.2 06-Oct-2003  matt Update to new assmbler needs. Add getcontext.S stub.
 1.1 06-Jun-2002  fredette Added hppa support (some of it incomplete) to lib/csu, lib/libc,
and lib/libkvm.
 1.3.24.1 18-May-2008  yamt sync with head.
 1.4.8.2 28-Apr-2008  martin Remove clause 3 and 4 from TNF licenses
 1.4.8.1 28-Apr-2008  martin file _setjmp.S was added on branch christos-time_t on 2008-04-28 20:22:57 +0000
 1.6 08-Nov-2018  riastradh Try speling it rite, riasthradhdadhaa or whatever your name is.
 1.5 07-Nov-2018  riastradh On ports without __HAVE_LONG_DOUBLE, make fabsl alias fabs.

For some reason, fabs lives in libc, not in libm, and our tests now
detect when fabs or fabsl is missing from libm. For those ports that
sometimes have long double and sometimes don't, make it conditional.

Still missing: fabs _and_ fabsl on ia64. Need help from an itanium
wizard! Other portmasters: Please take a look and see if I missed
any ports that might have long double where this alias will not work.
 1.4 24-Dec-2005  perry branches: 1.4.84; 1.4.86;
oops. __volatile -> volatile
 1.3 24-Dec-2005  perry __asm__ -> __asm, __volatile__ -> __volatile
 1.2 02-Dec-2005  skrll WARNS
 1.1 24-Jul-2004  chs add missing FP functions, from openbsd.
 1.4.86.1 10-Jun-2019  christos Sync with HEAD
 1.4.84.1 26-Nov-2018  pgoyette Sync with HEAD, resolve a couple of conflicts
 1.5 23-Mar-2012  skrll Shut lint up.

From he@
 1.4 24-Dec-2005  perry branches: 1.4.44;
oops. __volatile -> volatile
 1.3 24-Dec-2005  perry __asm__ -> __asm, __volatile__ -> __volatile
 1.2 12-Jun-2005  lukem Add missing __RCSID()
 1.1 24-Jul-2004  chs add missing FP functions, from openbsd.
 1.4.44.1 17-Apr-2012  yamt sync with head
 1.2 30-Oct-2003  kleink It turns out the hppa ABI we're using does not support an extended-
precision type, so drop the library support for now but leave in place
(#ifdef _LP64) the header definitions.
 1.1 28-Oct-2003  kleink C99 7.12.3.1: add IEEE library portions of fpclassify. Don't build these
yet as the VAX implementation is still subject to discussion.
 1.5 23-Mar-2012  skrll Shut lint up.

From he@
 1.4 24-Dec-2005  perry branches: 1.4.44;
oops. __volatile -> volatile
 1.3 24-Dec-2005  perry __asm__ -> __asm, __volatile__ -> __volatile
 1.2 12-Jun-2005  lukem Add missing __RCSID()
 1.1 24-Jul-2004  chs add missing FP functions, from openbsd.
 1.4.44.1 17-Apr-2012  yamt sync with head
 1.5 23-Mar-2012  skrll Shut lint up.

From he@
 1.4 24-Dec-2005  perry branches: 1.4.44;
oops. __volatile -> volatile
 1.3 24-Dec-2005  perry __asm__ -> __asm, __volatile__ -> __volatile
 1.2 12-Jun-2005  lukem Add missing __RCSID()
 1.1 24-Jul-2004  chs add missing FP functions, from openbsd.
 1.4.44.1 17-Apr-2012  yamt sync with head
 1.5 23-Mar-2012  skrll Shut lint up.

From he@
 1.4 24-Dec-2005  perry branches: 1.4.44;
oops. __volatile -> volatile
 1.3 24-Dec-2005  perry __asm__ -> __asm, __volatile__ -> __volatile
 1.2 12-Jun-2005  lukem Add missing __RCSID()
 1.1 24-Jul-2004  chs add missing FP functions, from openbsd.
 1.4.44.1 17-Apr-2012  yamt sync with head
 1.6 23-Mar-2012  skrll Shut lint up.

From he@
 1.5 25-Jan-2009  skrll branches: 1.5.8;
Sprinkle the "memory" clobber register so the fpsr manipulation actually
happens.

Fixes the ieeefp/except regresion test.
 1.4 24-Dec-2005  perry branches: 1.4.26;
oops. __volatile -> volatile
 1.3 24-Dec-2005  perry __asm__ -> __asm, __volatile__ -> __volatile
 1.2 12-Jun-2005  lukem Add missing __RCSID()
 1.1 24-Jul-2004  chs add missing FP functions, from openbsd.
 1.4.26.1 26-Jan-2009  snj Pull up following revision(s) (requested by skrll in ticket #318):
lib/libc/arch/hppa/gen/fpsetmask.c: revision 1.5
lib/libc/arch/hppa/gen/fpsetround.c: revision 1.5
lib/libc/arch/hppa/gen/fpsetsticky.c: revision 1.5
Sprinkle the "memory" clobber register so the fpsr manipulation actually
happens.
Fixes the ieeefp/except regresion test.
 1.5.8.1 17-Apr-2012  yamt sync with head
 1.6 23-Mar-2012  skrll Shut lint up.

From he@
 1.5 25-Jan-2009  skrll branches: 1.5.8;
Sprinkle the "memory" clobber register so the fpsr manipulation actually
happens.

Fixes the ieeefp/except regresion test.
 1.4 24-Dec-2005  perry branches: 1.4.26;
oops. __volatile -> volatile
 1.3 24-Dec-2005  perry __asm__ -> __asm, __volatile__ -> __volatile
 1.2 12-Jun-2005  lukem Add missing __RCSID()
 1.1 24-Jul-2004  chs add missing FP functions, from openbsd.
 1.4.26.1 26-Jan-2009  snj Pull up following revision(s) (requested by skrll in ticket #318):
lib/libc/arch/hppa/gen/fpsetmask.c: revision 1.5
lib/libc/arch/hppa/gen/fpsetround.c: revision 1.5
lib/libc/arch/hppa/gen/fpsetsticky.c: revision 1.5
Sprinkle the "memory" clobber register so the fpsr manipulation actually
happens.
Fixes the ieeefp/except regresion test.
 1.5.8.1 17-Apr-2012  yamt sync with head
 1.6 23-Mar-2012  skrll Shut lint up.

From he@
 1.5 25-Jan-2009  skrll branches: 1.5.8;
Sprinkle the "memory" clobber register so the fpsr manipulation actually
happens.

Fixes the ieeefp/except regresion test.
 1.4 24-Dec-2005  perry branches: 1.4.26;
oops. __volatile -> volatile
 1.3 24-Dec-2005  perry __asm__ -> __asm, __volatile__ -> __volatile
 1.2 12-Jun-2005  lukem Add missing __RCSID()
 1.1 24-Jul-2004  chs add missing FP functions, from openbsd.
 1.4.26.1 26-Jan-2009  snj Pull up following revision(s) (requested by skrll in ticket #318):
lib/libc/arch/hppa/gen/fpsetmask.c: revision 1.5
lib/libc/arch/hppa/gen/fpsetround.c: revision 1.5
lib/libc/arch/hppa/gen/fpsetsticky.c: revision 1.5
Sprinkle the "memory" clobber register so the fpsr manipulation actually
happens.
Fixes the ieeefp/except regresion test.
 1.5.8.1 17-Apr-2012  yamt sync with head
 1.2 26-Oct-2002  thorpej * Use the common ieee754_* routines (and add ones we were missing).
* Note that several routines are still missing for hppa.
 1.1 06-Jun-2002  fredette Added hppa support (some of it incomplete) to lib/csu, lib/libc,
and lib/libkvm.
 1.2 30-Oct-2003  kleink It turns out the hppa ABI we're using does not support an extended-
precision type, so drop the library support for now but leave in place
(#ifdef _LP64) the header definitions.
 1.1 25-Oct-2003  kleink Add __infinityf and __infinityl, float respectively long double analogs
of __infinity.
 1.2 30-Oct-2003  kleink It turns out the hppa ABI we're using does not support an extended-
precision type, so drop the library support for now but leave in place
(#ifdef _LP64) the header definitions.
 1.1 29-Oct-2003  kleink C99 7.12.3.2: add library portions of isfinite, but don't build these just
yet.
 1.2 26-Oct-2002  thorpej * Use the common ieee754_* routines (and add ones we were missing).
* Note that several routines are still missing for hppa.
 1.1 06-Jun-2002  fredette Added hppa support (some of it incomplete) to lib/csu, lib/libc,
and lib/libkvm.
 1.4 30-Oct-2003  kleink It turns out the hppa ABI we're using does not support an extended-
precision type, so drop the library support for now but leave in place
(#ifdef _LP64) the header definitions.
 1.3 27-Oct-2003  kleink Err, rename some members added in previous to make them reflect their
semantics better.
 1.2 27-Oct-2003  kleink Retire local union { floating-type; struct ieee_prec; } in favor of those
available from <machine/ieee.h>
 1.1 24-Oct-2003  kleink * Since there is no single portable IEEE 754 format for a long double,
keep a common implementation of isinfl() and isnanl() to be used by
platforms where `long double' == `double'; move others into
machine-dependent code.
* In due course, consider __VFP_FP__ on arm.
 1.2 26-Oct-2002  thorpej * Use the common ieee754_* routines (and add ones we were missing).
* Note that several routines are still missing for hppa.
 1.1 06-Jun-2002  fredette Added hppa support (some of it incomplete) to lib/csu, lib/libc,
and lib/libkvm.
 1.4 30-Oct-2003  kleink It turns out the hppa ABI we're using does not support an extended-
precision type, so drop the library support for now but leave in place
(#ifdef _LP64) the header definitions.
 1.3 27-Oct-2003  kleink Err, rename some members added in previous to make them reflect their
semantics better.
 1.2 27-Oct-2003  kleink Retire local union { floating-type; struct ieee_prec; } in favor of those
available from <machine/ieee.h>
 1.1 24-Oct-2003  kleink * Since there is no single portable IEEE 754 format for a long double,
keep a common implementation of isinfl() and isnanl() to be used by
platforms where `long double' == `double'; move others into
machine-dependent code.
* In due course, consider __VFP_FP__ on arm.
 1.2 26-Oct-2002  thorpej * Use the common ieee754_* routines (and add ones we were missing).
* Note that several routines are still missing for hppa.
 1.1 06-Jun-2002  fredette Added hppa support (some of it incomplete) to lib/csu, lib/libc,
and lib/libkvm.
 1.8 25-Apr-2025  riastradh hppa makecontext: Use STACK_ALIGNBYTES to refer to stack alignment.

No functional change intended -- just make it clearer and easier to
search.

PR kern/59327: user stack pointer is not aligned properly
 1.7 25-Apr-2025  riastradh hppa _lwp_makecontext, makecontext: Sort includes.

No functional change intended.

PR kern/59327: user stack pointer is not aligned properly
 1.6 22-Mar-2012  skrll branches: 1.6.44;
Shut lint up about dp.

From he@
 1.5 20-Sep-2011  joerg branches: 1.5.2;
Explicitly add back __resumecontext wrapper
 1.4 19-Sep-2011  joerg Mark _resumecontext as dead. ANSIfy all declarations for it.
 1.3 28-Apr-2008  martin branches: 1.3.8;
Remove clause 3 and 4 from TNF licenses
 1.2 24-Dec-2005  perry branches: 1.2.18;
__asm__ -> __asm, __volatile__ -> __volatile
 1.1 18-Jul-2004  chs add *context and LWP support for hppa. translated from MIPS.
 1.2.18.1 18-May-2008  yamt sync with head.
 1.3.8.2 28-Apr-2008  martin Remove clause 3 and 4 from TNF licenses
 1.3.8.1 28-Apr-2008  martin file makecontext.c was added on branch christos-time_t on 2008-04-28 20:22:57 +0000
 1.5.2.1 17-Apr-2012  yamt sync with head
 1.6.44.1 02-Aug-2025  perseant Sync with HEAD
 1.2 22-Feb-2009  martin Make NAN a compile time constant (with help from the compiler). Suggested
by krister. Fixes PR 40695.
Make references to the old construct (which we can't remove for binary
compatibility reasons) emit a linker warning.
 1.1 15-Apr-2005  kleink branches: 1.1.2; 1.1.32;
Push back the descriptions of NaN formats, and descriptions of the
distinction between signalling NaNs and quiet NaNs back into the
machine-dependent headers; treat the implementation of __nanf in the
same spirit.

IEEE 754 leaves the distinction between signalling NaNs and quiet NANs
to the implementation, and unlike our headers used to suggest they're
not identical in the interpretation of the fraction's MSb; in due
course, make those of hppa, mips, sh3, and sh5 reflect reality.
 1.1.32.1 13-May-2009  jym Sync with HEAD.

Third (and last) commit. See http://mail-index.netbsd.org/source-changes/2009/05/13/msg221222.html
 1.1.2.2 19-Apr-2005  tron Pull up revision 1.1 (requested by kleink in ticket #163):
Push back the descriptions of NaN formats, and descriptions of the
distinction between signalling NaNs and quiet NaNs back into the
machine-dependent headers; treat the implementation of __nanf in the
same spirit.
IEEE 754 leaves the distinction between signalling NaNs and quiet NANs
to the implementation, and unlike our headers used to suggest they're
not identical in the interpretation of the fraction's MSb; in due
course, make those of hppa, mips, sh3, and sh5 reflect reality.
 1.1.2.1 15-Apr-2005  tron file nanf.c was added on branch netbsd-3 on 2005-04-19 12:32:50 +0000
 1.5 24-Aug-2013  skrll Whitespace.
 1.4 19-Sep-2011  joerg branches: 1.4.2; 1.4.8;
Mark _resumecontext as dead. ANSIfy all declarations for it.
 1.3 28-Apr-2008  martin branches: 1.3.8;
Remove clause 3 and 4 from TNF licenses
 1.2 08-Dec-2006  martin branches: 1.2.10;
Sync all resumecontext.c versions with the changes originally made
by Matthias Drochner to i386 and alpha:

-check for a NULL uc_link before calling setcontext(2); do a real exit(3)
instead with exit handlers and all that
-If setcontext(2) returns (which it shouldn't), do an _exit(-1) rather
than relying on a sensible return value to use as exit code. Makes
it less likely that an ucontext corruption goes unnoticed.
 1.1 18-Jul-2004  chs branches: 1.1.10;
add *context and LWP support for hppa. translated from MIPS.
 1.1.10.1 09-Dec-2006  bouyer Pull up following revision(s) (requested by martin in ticket #264):
lib/libc/arch/sh5/gen/resumecontext.c: revision 1.2
lib/libc/arch/sh3/gen/resumecontext.c: revision 1.3
lib/libc/arch/sparc/gen/resumecontext.c: revision 1.3
lib/libc/arch/powerpc/gen/resumecontext.c: revision 1.3
lib/libc/arch/arm/gen/resumecontext.c: revision 1.3
lib/libc/arch/mips/gen/resumecontext.c: revision 1.3
lib/libc/arch/vax/gen/resumecontext.c: revision 1.2
lib/libc/arch/powerpc64/gen/resumecontext.c: revision 1.2
lib/libc/arch/hppa/gen/resumecontext.c: revision 1.2
Sync all resumecontext.c versions with the changes originally made
by Matthias Drochner to i386 and alpha:
-check for a NULL uc_link before calling setcontext(2); do a real exit(3)
instead with exit handlers and all that
-If setcontext(2) returns (which it shouldn't), do an _exit(-1) rather
than relying on a sensible return value to use as exit code. Makes
it less likely that an ucontext corruption goes unnoticed.
 1.2.10.1 18-May-2008  yamt sync with head.
 1.3.8.2 28-Apr-2008  martin Remove clause 3 and 4 from TNF licenses
 1.3.8.1 28-Apr-2008  martin file resumecontext.c was added on branch christos-time_t on 2008-04-28 20:22:57 +0000
 1.4.8.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.4.2.1 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.2 01-Jul-2002  fredette Changes to allow libc to compile as PIC on the hppa.
 1.1 06-Jun-2002  fredette Added hppa support (some of it incomplete) to lib/csu, lib/libc,
and lib/libkvm.
 1.8 15-Oct-2020  skrll Remove '_OFFSETOF' prefix for genassm(1) generate CPP identifers for
consistency with other arches.

NFCI and libc.so is the same before and after.
 1.7 05-May-2020  skrll Add a space before any non-nullified instruction. NFCI.
 1.6 19-Feb-2014  skrll Provide a genassym.cf in libc for hppa and use it.
 1.5 12-Sep-2012  manu branches: 1.5.2;
setcontext() used to be incompatible with -lpthread since it affected
the TLS pointer, therefore wrecking the pthread environement.

Some ports had _UC_TLSBASE flag or equivalent (_UC_UNIQUE on alpha)
that controlled whether setcontext() would change the TLS pointer.
This change let libpthread override setcontext() with its own version
that unsets _UC_TLSBASE, enabling safe usage of setcontext() with
-lpthread.

We also have the following required changes here:
- rename alpha's _UC_UNIQUE into _UC_TLSBASE
- add _UC_TLSBASE definition in header file for all ports
(powerpc, sh3, sparc and sparc64 lack the implementation for now)
- introduce a libc stub that can be overriden for setcontext()
- modify MD libcs swapcontext() implementations so that they use the
setcontext() libc stub instead of doing a plain system call.

While we are there:
- document various MD _UC_* flags in header file
- add libc and libpthread tests for swapcontext() behavior
(hopefully helpful to spot MD problems introduced with this change)

Future work:
- Deciding whether kernel support or _UC_TLSBASE should be added for
powerpc, sh3, sparc and sparc64 is left to portmasters
sparc64

Approved by core@
 1.4 28-Apr-2008  martin branches: 1.4.4; 1.4.8;
Remove clause 3 and 4 from TNF licenses
 1.3 18-Nov-2007  skrll branches: 1.3.6;
Remove unused include.

Fix unwind info with S/ENTRY/LEAF_&/
 1.2 28-Oct-2007  skrll Set up the tail of the instruction address queue so that
we don't have to rely on luck for swapcontext(3) to work.

This fixes a problem pointed out to me by Chuck Silvers.
 1.1 18-Jul-2004  chs branches: 1.1.10; 1.1.12; 1.1.16;
add *context and LWP support for hppa. translated from MIPS.
 1.1.16.2 09-Jan-2008  matt sync with HEAD
 1.1.16.1 06-Nov-2007  matt sync with HEAD
 1.1.12.1 06-Jan-2008  wrstuden Catch up to netbsd-4.0 release.
 1.1.10.1 29-Oct-2007  pavel Pull up following revision (requested by skrll in ticket #955):
lib/libc/arch/hppa/gen/swapcontext.S: revision 1.2
Set up the tail of the instruction address queue so that
we don't have to rely on luck for swapcontext(3) to work.
This fixes a problem pointed out to me by Chuck Silvers.
 1.3.6.1 18-May-2008  yamt sync with head.
 1.4.8.2 28-Apr-2008  martin Remove clause 3 and 4 from TNF licenses
 1.4.8.1 28-Apr-2008  martin file swapcontext.S was added on branch christos-time_t on 2008-04-28 20:22:57 +0000
 1.4.4.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.4.4.1 30-Oct-2012  yamt sync with head
 1.5.2.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.

RSS XML Feed