Home | History | Annotate | only in /src/lib/libc/arch/hppa
History log of /src/lib/libc/arch/hppa
RevisionDateAuthorComments
 1.1 06-Jun-2002  fredette Added hppa support (some of it incomplete) to lib/csu, lib/libc,
and lib/libkvm.
 1.11 31-Oct-2021  thorpej Tidy up how __sigaction14_sigtramp.c is added to SRCS.
 1.10 19-Feb-2014  skrll Provide a genassym.cf in libc for hppa and use it.
 1.9 21-Oct-2009  skrll branches: 1.9.6; 1.9.12;
G/C bcopy.m4 and references to it.
 1.8 26-Oct-2008  mrg branches: 1.8.4;
define and use LIBCDIR in terms of .CURDIR. fixes compat/lib/libc build.
 1.7 17-Jun-2006  uwe G/c KMSRCS and KMINCLUDES now that we have common/lib/libc
 1.6 05-Jun-2005  chs remove sigtramp version 1, we haven't used it in a long time.
 1.5 18-Jul-2004  chs added new files for context, LWP and siginfo support.
 1.4 01-Jul-2004  skrll Add a cerror.S and re-work various syscalls and SYS.h to use __cerror.

With help from the OpenBSD version of SYS.h.
 1.3 06-Oct-2003  matt Update to new assmbler needs. Add getcontext.S stub.
 1.2 10-Jul-2002  thorpej Enable the libc-provided signal trampoline. The old __sigaction14
entry point has been replaced by the new __sigaction14() which is a
wrapper around the __sigaction_sigtramp system call (which is itself
not directly exposed outside of libc).

No shared library version change is necessary; no new symbols
are exposed outside of libc.
 1.1 06-Jun-2002  fredette Added hppa support (some of it incomplete) to lib/csu, lib/libc,
and lib/libkvm.
 1.8.4.2 26-Oct-2008  mrg define and use LIBCDIR in terms of .CURDIR. fixes compat/lib/libc build.
 1.8.4.1 26-Oct-2008  mrg file Makefile.inc was added on branch christos-time_t on 2008-10-26 07:43:08 +0000
 1.9.12.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.9.6.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.12 05-May-2020  skrll Mark __cerror as hidden to avoid using the PLT. This is required for new
binutils where the PLT stubs now use %t1 (%r22) which is used to pass
the errno to __cerror.
 1.11 05-May-2020  skrll Add a space before any non-nullified instruction. NFCI.
 1.10 05-May-2020  skrll Remove unnecesary #define/#undef _LOCORE
 1.9 06-Mar-2014  skrll Move to a flat space register convention. %sr[4-7] are all now the space
number allocated to the process. gcc produces (slightly) better code
with this convention.

Retain backwards compatiblity.

Welcome to 6.99.36
 1.8 24-Aug-2013  skrll Whitespace.
 1.7 03-Nov-2009  snj branches: 1.7.6; 1.7.12;
Follow upstream license changes for files with Michael Shalayeff's
copyright. In most cases, this means dropping the 3rd and 4th clauses.
 1.6 18-Nov-2007  skrll Generate correct unwind info for syscall stubs by using LEAF_ENTRY instead
of ENTRY(foo,0) so that gdb can backtrace through the stubs.
 1.5 01-Jul-2004  skrll branches: 1.5.16;
Add a cerror.S and re-work various syscalls and SYS.h to use __cerror.

With help from the OpenBSD version of SYS.h.
 1.4 06-Oct-2003  matt Update to new assmbler needs. Add getcontext.S stub.
 1.3 04-Jul-2002  thorpej Remove "_THREAD_SAFE" stuff that is not used on NetBSD.
 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.5.16.1 09-Jan-2008  matt sync with HEAD
 1.7.12.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.7.6.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.5 20-Apr-2024  skrll Remove some magic numbers by using genassym.cf
 1.4 26-Jun-2022  skrll Decorate the HPPA signal trampoline with the appropriate .cfi
directives to allow exception unwind / backtrace across a signal
handler.
 1.3 24-Oct-2020  skrll Add _UC_GREGS_* defines for all general registers
 1.2 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.1 19-Feb-2014  skrll branches: 1.1.4; 1.1.8;
Provide a genassym.cf in libc for hppa and use it.
 1.1.8.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.8.1 19-Feb-2014  tls file genassym.cf was added on branch tls-maxphys on 2014-08-20 00:02:09 +0000
 1.1.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.1.4.1 19-Feb-2014  yamt file genassym.cf was added on branch yamt-pagecache on 2014-05-22 11:36:47 +0000
 1.1 15-Mar-2006  kleink Add strtof(3) and strtold(3); welcome libc 12.137.
 1.1 25-Jan-2006  kleink Add machine-dependent definitions for gdtoa.
 1.1 25-Jan-2006  kleink Add machine-dependent definitions for gdtoa.
 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.
 1.1 06-Jun-2002  fredette Added hppa support (some of it incomplete) to lib/csu, lib/libc,
and lib/libkvm.
 1.4 31-Jul-2009  dsl Add the 'abs', 'div' and 'erand48' sources to stdlib/Makefile.inc.
Change the arch files only include the .S files.
This adds imaxdiv() to some archs where it was missing.
 1.3 04-Aug-2008  matt branches: 1.3.6;
Add C99 functions imaxabs and imaxdiv.
 1.2 22-Mar-2006  drochner branches: 1.2.20;
build erand48_ieee754.c on everything but vax
 1.1 06-Jun-2002  fredette Added hppa support (some of it incomplete) to lib/csu, lib/libc,
and lib/libkvm.
 1.2.20.1 18-Sep-2008  wrstuden Sync with wrstuden-revivesa-base-2.
 1.3.6.2 04-Aug-2008  matt Add C99 functions imaxabs and imaxdiv.
 1.3.6.1 04-Aug-2008  matt file Makefile.inc was added on branch christos-time_t on 2008-08-04 21:29:29 +0000
 1.3 30-Jul-2009  dsl If SRCS contains any .S files then remove the corresponding .c file from
SRCS and add to LSRCS (for lint).
Change the 'string' Makefiles so that the arch/*/string/Makefile.inc
need only specify the .S files for that architecture and not the .c
files for all the files they don't override.
 1.2 18-Jul-2009  dsl Remove references to index.c and rindex.c (strchr.c and strrchr.c
now provide the definitions).
 1.1 06-Jun-2002  fredette Added hppa support (some of it incomplete) to lib/csu, lib/libc,
and lib/libkvm.
 1.3 05-May-2020  skrll Add a space before any non-nullified instruction. NFCI.
 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.2 21-Oct-2009  skrll G/C bcopy.m4 and references to it.
 1.1 06-Jun-2002  fredette Added hppa support (some of it incomplete) to lib/csu, lib/libc,
and lib/libkvm.
 1.4 05-May-2020  skrll Add a space before any non-nullified instruction. NFCI.
 1.3 03-May-2020  skrll Even more trailing whitespace
 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.5 05-May-2020  skrll Add a space before any non-nullified instruction. NFCI.
 1.4 03-May-2020  skrll Even more trailing whitespace
 1.3 18-Jul-2004  chs add a missing return instruction.
 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.5 05-May-2020  skrll Add a space before any non-nullified instruction. NFCI.
 1.4 03-May-2020  skrll Even more trailing whitespace
 1.3 28-Apr-2008  martin branches: 1.3.8;
Remove clause 3 and 4 from TNF licenses
 1.2 06-Oct-2003  matt branches: 1.2.30;
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.2.30.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 strlcpy.S was added on branch christos-time_t on 2008-04-28 20:22:57 +0000
 1.3 11-Mar-2006  christos move to the new compat layout.
 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.8 05-May-2020  skrll Mark __cerror as hidden to avoid using the PLT. This is required for new
binutils where the PLT stubs now use %t1 (%r22) which is used to pass
the errno to __cerror.
 1.7 05-May-2020  skrll Add a space before any non-nullified instruction. NFCI.
 1.6 28-Apr-2008  martin branches: 1.6.8;
Remove clause 3 and 4 from TNF licenses
 1.5 18-Jul-2004  chs branches: 1.5.24;
replace these placeholders with real implementations.
translated from the mips version.
 1.4 01-Jul-2004  skrll Add a cerror.S and re-work various syscalls and SYS.h to use __cerror.

With help from the OpenBSD version of SYS.h.
 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.5.24.1 18-May-2008  yamt sync with head.
 1.6.8.2 28-Apr-2008  martin Remove clause 3 and 4 from TNF licenses
 1.6.8.1 28-Apr-2008  martin file __clone.S was added on branch christos-time_t on 2008-04-28 20:22:57 +0000
 1.2 11-Mar-2006  christos move to the new compat layout.
 1.1 06-Jun-2002  fredette Added hppa support (some of it incomplete) to lib/csu, lib/libc,
and lib/libkvm.
 1.5 26-Oct-2021  christos Merge all MD __sigaction14_sigtramp.c copies into one:
- sparc and sparc64 were not using version 0 sigcontext when there were
no arguments in the signal version. This was probably a bug.
- vax is using +1 the version numbers of the other archs.
- Only hppa was defining __LIBC12_SOURCE__ so it was getting a working
sigcontext before. all the other ports that supported sigcontext had
the compat code disabled.
[pointed out by thorpej, thanks!]
If we want to remove sigcontext support from userland at least now there
is less work to do so.
 1.4 28-Apr-2008  martin branches: 1.4.8;
Remove clause 3 and 4 from TNF licenses
 1.3 12-Jun-2005  lukem branches: 1.3.18;
Add missing __RCSID()
 1.2 18-Jul-2004  chs add a siginfo signal trampoline and always use it.
 1.1 09-Jul-2002  thorpej New __sigaction14() system call stub which registers the signal
trampoline, and the signal trampolines themselves.

NOTE: These are not yet enabled; they will be enabled after further
testing on more architectures.
 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 __sigaction14_sigtramp.c was added on branch christos-time_t on 2008-04-28 20:22:57 +0000
 1.5 11-Mar-2006  christos move to the new compat layout.
 1.4 17-May-2004  chs __sigreturn14 -> compat_16___sigreturn14
 1.3 06-Oct-2003  matt Update to new assmbler needs. Add getcontext.S stub.
 1.2 07-Aug-2003  agc Move UCB-licensed code from 4-clause to 3-clause licence.

Patches provided by Joel Baker in PR 22280, verified by myself.
 1.1 06-Jun-2002  fredette Added hppa support (some of it incomplete) to lib/csu, lib/libc,
and lib/libkvm.
 1.4 05-Jun-2005  chs remove sigtramp version 1, we haven't used it in a long time.
 1.3 26-Mar-2004  drochner fix references to the syscall formerly known as SYS___sigreturn14
 1.2 06-Oct-2003  matt Update to new assmbler needs. Add getcontext.S stub.
 1.1 09-Jul-2002  thorpej New __sigaction14() system call stub which registers the signal
trampoline, and the signal trampolines themselves.

NOTE: These are not yet enabled; they will be enabled after further
testing on more architectures.
 1.8 02-Feb-2024  andvar fix various typos in comments.
 1.7 26-Jun-2022  skrll Decorate the HPPA signal trampoline with the appropriate .cfi
directives to allow exception unwind / backtrace across a signal
handler.
 1.6 05-May-2020  skrll Add a space before any non-nullified instruction. NFCI.
 1.5 06-Mar-2014  skrll Move to a flat space register convention. %sr[4-7] are all now the space
number allocated to the process. gcc produces (slightly) better code
with this convention.

Retain backwards compatiblity.

Welcome to 6.99.36
 1.4 03-Nov-2009  snj branches: 1.4.6; 1.4.12;
Follow upstream license changes for files with Michael Shalayeff's
copyright. In most cases, this means dropping the 3rd and 4th clauses.
 1.3 22-Dec-2007  skrll Add a comment explaining stack layout and register contents.
 1.2 05-Jun-2005  chs branches: 1.2.10;
fix function name in end-marker.
 1.1 18-Jul-2004  chs add a siginfo signal trampoline and always use it.
 1.2.10.1 09-Jan-2008  matt sync with HEAD
 1.4.12.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.4.6.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.1 06-Jun-2002  fredette Added hppa support (some of it incomplete) to lib/csu, lib/libc,
and lib/libkvm.
 1.10 09-May-2020  skrll No need to .import __cerror as SYS.h does it
 1.9 05-May-2020  skrll Mark __cerror as hidden to avoid using the PLT. This is required for new
binutils where the PLT stubs now use %t1 (%r22) which is used to pass
the errno to __cerror.
 1.8 05-May-2020  skrll Add a space before any non-nullified instruction. NFCI.
 1.7 03-May-2020  skrll Trailing whitespace
 1.6 06-Mar-2014  skrll Move to a flat space register convention. %sr[4-7] are all now the space
number allocated to the process. gcc produces (slightly) better code
with this convention.

Retain backwards compatiblity.

Welcome to 6.99.36
 1.5 28-Apr-2008  martin branches: 1.5.4; 1.5.8; 1.5.28;
Remove clause 3 and 4 from TNF licenses
 1.4 01-Jul-2004  skrll branches: 1.4.24;
Add a cerror.S and re-work various syscalls and SYS.h to use __cerror.

With help from the OpenBSD version of SYS.h.
 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.28.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 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 __vfork14.S was added on branch christos-time_t on 2008-04-28 20:22:57 +0000
 1.5.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.9 10-May-2020  skrll Rename curbrk to __curbrk, and make it and __minbrk hidden
 1.8 05-May-2020  skrll Add a space before any non-nullified instruction. NFCI.
 1.7 03-May-2020  skrll Even more trailing whitespace
 1.6 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.5 14-Mar-2012  skrll branches: 1.5.2;
Use the _end symbol rather than the end symbol. Prevents version info
problems in elflink.c for the heimdal libraries.
 1.4 03-Nov-2009  snj branches: 1.4.6; 1.4.8;
Follow upstream license changes for files with Michael Shalayeff's
copyright. In most cases, this means dropping the 3rd and 4th clauses.
 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.8.1 17-Mar-2012  bouyer Pull up following revision(s) (requested by skrll in ticket #120):
lib/libc/arch/hppa/sys/brk.S: revision 1.5
lib/libc/arch/hppa/sys/sbrk.S: revision 1.5
Use the _end symbol rather than the end symbol. Prevents version info
problems in elflink.c for the heimdal libraries.
 1.4.6.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.6.1 17-Apr-2012  yamt sync with head
 1.5.2.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.6 05-May-2020  skrll Add a space before any non-nullified instruction. NFCI.
 1.5 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.4 28-Apr-2008  martin branches: 1.4.4; 1.4.8; 1.4.28;
Remove clause 3 and 4 from TNF licenses
 1.3 18-Jul-2004  chs branches: 1.3.24;
save and restore %t1 around calling __errno, it's a caller-saved register.
 1.2 15-Jul-2004  skrll Add a copyright message.
 1.1 01-Jul-2004  skrll Add a cerror.S and re-work various syscalls and SYS.h to use __cerror.

With help from the OpenBSD version of SYS.h.
 1.3.24.1 18-May-2008  yamt sync with head.
 1.4.28.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 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 cerror.S was added on branch christos-time_t on 2008-04-28 20:22:57 +0000
 1.4.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.3 07-Feb-2017  kamil Mark exect(3) obsolete and bind it to plain execve(2) on all platforms

The original exect(2) from BSD4.2 was enabling bit for tracing
(single-step mode) and calling execve(2). The purpose of it was to generate
a signal for a tracer once the application will change its image to a new
program.

This approach no longer works as:
- exect(2) traces (single-steps) libc and it requires hundreds or
thousands steps before entering a new image
- it's vax and x86 specific code
- this functionality has been moved to the kernel - once a process is
traced it will generate SIGTRAP with si_code TRAP_EXEC and route it to
its debugger
- the side effects and unportability make this interface unusable
- there are no known users of this interface
- it apparently never worked better since day0 of NetBSD ("day0 bug")

Users are requested to move to other execve(2) variants. Calling current
execve(2) as it is the most similar behavior to this one from BSD4.2.

Discussed several times on mailing lists and in PR/51700.

Add warning to exect(3) telling about marking this function obsolete.

This function is prepared to be removed in next libc major bump.

Sponsored by <The NetBSD Foundation>
 1.2 03-Nov-2009  snj branches: 1.2.28; 1.2.32;
Follow upstream license changes for files with Michael Shalayeff's
copyright. In most cases, this means dropping the 3rd and 4th clauses.
 1.1 06-Jun-2002  fredette Added hppa support (some of it incomplete) to lib/csu, lib/libc,
and lib/libkvm.
 1.2.32.1 21-Apr-2017  bouyer Sync with HEAD
 1.2.28.1 20-Mar-2017  pgoyette Sync with HEAD
 1.5 05-May-2020  skrll Add a space before any non-nullified instruction. NFCI.
 1.4 03-Nov-2009  snj Follow upstream license changes for files with Michael Shalayeff's
copyright. In most cases, this means dropping the 3rd and 4th clauses.
 1.3 06-Oct-2003  matt Update to new assmbler needs. Add getcontext.S stub.
 1.2 13-Feb-2003  nathanw Implement pthread_atfork() (in libc, because the required threadlib
stub behavior is exactly the same as the usual behavior).
 1.1 06-Jun-2002  fredette Added hppa support (some of it incomplete) to lib/csu, lib/libc,
and lib/libkvm.
 1.7 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.6 05-May-2020  skrll Add a space before any non-nullified instruction. NFCI.
 1.5 19-Feb-2014  skrll Provide a genassym.cf in libc for hppa and use it.
 1.4 28-Apr-2008  martin branches: 1.4.4; 1.4.8; 1.4.28;
Remove clause 3 and 4 from TNF licenses
 1.3 18-Jul-2004  chs branches: 1.3.24;
replace these placeholders with real implementations.
translated from the mips version.
 1.2 01-Jul-2004  skrll Add a cerror.S and re-work various syscalls and SYS.h to use __cerror.

With help from the OpenBSD version of SYS.h.
 1.1 06-Oct-2003  matt Update to new assmbler needs. Add getcontext.S stub.
 1.3.24.1 18-May-2008  yamt sync with head.
 1.4.28.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 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 getcontext.S was added on branch christos-time_t on 2008-04-28 20:22:57 +0000
 1.4.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.2 11-Mar-2006  christos move to the new compat layout.
 1.1 06-Jun-2002  fredette Added hppa support (some of it incomplete) to lib/csu, lib/libc,
and lib/libkvm.
 1.4 05-May-2020  skrll Add a space before any non-nullified instruction. NFCI.
 1.3 06-Oct-2003  matt Update to new assmbler needs. Add getcontext.S stub.
 1.2 07-Aug-2003  agc Move UCB-licensed code from 4-clause to 3-clause licence.

Patches provided by Joel Baker in PR 22280, verified by myself.
 1.1 06-Jun-2002  fredette Added hppa support (some of it incomplete) to lib/csu, lib/libc,
and lib/libkvm.
 1.8 06-Jun-2022  skrll Save and restore %r19 the "linkage table pointer register" across the call
to __cerror so if the ptrace syscall fails we can call __cerror again with
the correct %r19 value.

Do this even though the call of __cerror doesn't go via the PLT because
__cerror calls __errno which does.

Analysis and fix from Tom Lane in

port-hppa/56864: hppa: ptrace(2) dumps core when returning an error

I changed the location of where %r19 is stored on the stack to follow the
ABI.
 1.7 09-May-2020  skrll No need to .import __cerror as SYS.h does it
 1.6 28-Apr-2008  martin branches: 1.6.8; 1.6.66;
Remove clause 3 and 4 from TNF licenses
 1.5 02-Dec-2007  skrll branches: 1.5.6;
Implement ptrace.
 1.4 01-Jul-2004  skrll branches: 1.4.16;
Add a cerror.S and re-work various syscalls and SYS.h to use __cerror.

With help from the OpenBSD version of SYS.h.
 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.16.1 09-Jan-2008  matt sync with HEAD
 1.5.6.1 18-May-2008  yamt sync with head.
 1.6.66.1 06-Jun-2022  martin Pull up following revision(s) (requested by skrll in ticket #1464):

lib/libc/arch/hppa/sys/ptrace.S: revision 1.8

Save and restore %r19 the "linkage table pointer register" across the call
to __cerror so if the ptrace syscall fails we can call __cerror again with
the correct %r19 value.

Do this even though the call of __cerror doesn't go via the PLT because
__cerror calls __errno which does.

Analysis and fix from Tom Lane in
PR port-hppa/56864: hppa: ptrace(2) dumps core when returning an error

I changed the location of where %r19 is stored on the stack to follow the
ABI.
 1.6.8.2 28-Apr-2008  martin Remove clause 3 and 4 from TNF licenses
 1.6.8.1 28-Apr-2008  martin file ptrace.S was added on branch christos-time_t on 2008-04-28 20:22:57 +0000
 1.8 10-May-2020  skrll Rename curbrk to __curbrk, and make it and __minbrk hidden
 1.7 05-May-2020  skrll Add a space before any non-nullified instruction. NFCI.
 1.6 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.5 14-Mar-2012  skrll branches: 1.5.2;
Use the _end symbol rather than the end symbol. Prevents version info
problems in elflink.c for the heimdal libraries.
 1.4 03-Nov-2009  snj branches: 1.4.6; 1.4.8;
Follow upstream license changes for files with Michael Shalayeff's
copyright. In most cases, this means dropping the 3rd and 4th clauses.
 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.8.1 17-Mar-2012  bouyer Pull up following revision(s) (requested by skrll in ticket #120):
lib/libc/arch/hppa/sys/brk.S: revision 1.5
lib/libc/arch/hppa/sys/sbrk.S: revision 1.5
Use the _end symbol rather than the end symbol. Prevents version info
problems in elflink.c for the heimdal libraries.
 1.4.6.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.6.1 17-Apr-2012  yamt sync with head
 1.5.2.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.3 18-Jan-2003  thorpej These files are obsolete; setlogin() is now implemented in C with a
small syscall 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.3 18-Jul-2004  chs replace these placeholders with real implementations.
translated from the mips version.
 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.2 11-Mar-2006  christos move to the new compat layout.
 1.1 06-Jun-2002  fredette Added hppa support (some of it incomplete) to lib/csu, lib/libc,
and lib/libkvm.
 1.2 11-Mar-2006  christos move to the new compat layout.
 1.1 06-Jun-2002  fredette Added hppa support (some of it incomplete) to lib/csu, lib/libc,
and lib/libkvm.
 1.5 11-Mar-2006  christos move to the new compat layout.
 1.4 01-Jul-2004  skrll Add a cerror.S and re-work various syscalls and SYS.h to use __cerror.

With help from the OpenBSD version of SYS.h.
 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.5 11-Mar-2006  christos move to the new compat layout.
 1.4 01-Jul-2004  skrll Add a cerror.S and re-work various syscalls and SYS.h to use __cerror.

With help from the OpenBSD version of SYS.h.
 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.5 11-Mar-2006  christos move to the new compat layout.
 1.4 01-Jul-2004  skrll Add a cerror.S and re-work various syscalls and SYS.h to use __cerror.

With help from the OpenBSD version of SYS.h.
 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.5 11-Mar-2006  christos move to the new compat layout.
 1.4 01-Jul-2004  skrll Add a cerror.S and re-work various syscalls and SYS.h to use __cerror.

With help from the OpenBSD version of SYS.h.
 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.3 18-Apr-2020  thorpej Rename "syscall" to "_syscall" and provide "syscall" as a weak alias.
 1.2 03-Nov-2009  snj branches: 1.2.46;
Follow upstream license changes for files with Michael Shalayeff's
copyright. In most cases, this means dropping the 3rd and 4th clauses.
 1.1 06-Jun-2002  fredette Added hppa support (some of it incomplete) to lib/csu, lib/libc,
and lib/libkvm.
 1.2.46.1 21-Apr-2020  martin Sync with HEAD

RSS XML Feed