Home | History | Annotate | only in /src/lib/libc/arch/alpha/gen
History log of /src/lib/libc/arch/alpha/gen
RevisionDateAuthorComments
 1.3 05-Nov-1997  cgd remove these, they are no longer necessary or appropriate
 1.2 13-Jul-1997  christos branches: 1.2.2;
Add missing stdlib.h include
 1.1 22-Dec-1996  cgd File which provides lint stubs for the functions defined by
machine-dependent assembly code, whose source files live in its directory.
(Not necessarily complete yet.)
 1.2.2.1 08-Nov-1997  thorpej Pull up from trunk: "...hey hey hey, goodbye!"
 1.22 06-Dec-2009  uebayasi Rename ${SRCS.{alpha,arm,...}.gen} to ${LSRCS.{alpha,arm,...}.gen} because
they ended up in ${LSRCS}, not ${SRCS}. ${SRCS.*} namespace will be used
for more useful things. No functional changes intended.
 1.21 28-Jun-2006  drochner build frexp/ldexp/modf in the "compat" part
(code is identical)
 1.20 16-Sep-2005  drochner some stuff went to compat
 1.19 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.18 04-Mar-2004  kleink branches: 1.18.6;
* 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.17 01-Mar-2004  drochner we need a silly trampoline to make _resumecontext work
 1.16 15-Jan-2004  kleink Add C99 fpclassify(), isfinite(), isnormal(), and signbit() macros.
 1.15 25-Oct-2003  kleink Add __infinityf and __infinityl, float respectively long double analogs
of __infinity.
 1.14 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.13 01-Aug-2003  lukem Rework how dependency generation is performed:

* DPSRCS contains extra dependencies, but is _NOT_ added to CLEANFILES.
This is a change of behaviour. If a Makefile wants the clean semantics
it must specifically append to CLEANFILES.
Resolves PR toolchain/5204.

* To recap: .d (depend) files are generated for all files in SRCS and DPSRCS
that have a suffix of: .c .m .s .S .C .cc .cpp .cxx

* If YHEADER is set, automatically add the .y->.h to DPSRCS & CLEANFILES

* Ensure that ${OBJS} ${POBJS} ${LOBJS} ${SOBJS} *.d depend upon ${DPSRCS}

* Deprecate the (short lived) DEPENDSRCS


Update the various Makefiles to these new semantics; generally either
adding to CLEANFILES (because DPSRCS doesn't do that anymore), or replacing
specific .o dependencies with DPSRCS entries.

Tested with "make -j 8 distribution" and "make distribution".
 1.12 17-May-2003  thorpej Build _isinfl() and _isnanl().
 1.11 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.10 21-Jan-2003  kleink Add swapcontext() lint stub.
 1.9 18-Jan-2003  thorpej Merge the nathanw_sa branch.
 1.8 19-Feb-2002  simonb Clean up some rampant code duplication wrt ieee number handling:
- Add alignment-safe double and float unions.
- Use the above for the __infinity and __nan constants on all
architectures that use the standard ieee754 representation of
those constants.
- Add a single copy of various ieee754 math functions (frexp, isinf,
isnan, ldexp and modf) that had numerous duplicates among the
arch-specific directories.
- Use the above functions on all architectures where the generic C
versions where used. Architectures that had local assembly
routines are untouched (for those functions only).
 1.7 23-Dec-1999  kleink branches: 1.7.6;
C99: Define a NAN macro in <math.h> which evaulates to a constant expression of
a single-precision quiet NaN; only to be defined on platforms that do support
this value.
 1.6 29-Aug-1999  mycroft Separate isnan() into a separate module, and make isinf()/isnan() use ieee.h.
 1.5 15-Jan-1999  bouyer Move the bswap functions from libutil to libc (this bups the
minor of libc and the major of libutil). For little-endian architectures
merge the bnswap() assembly versions with nto* and hton* using symbols
aliasing. Use symbol renaming for the bswap function in this case to avoid
namespace pollution.
Declare bswap* in machine/bswap.h, not machine/endian.h. For little-endian
machines, common code for inline macros go in machine/byte_swap.h
Sync libkern with libc.
Adjust #include in kernel sources for machine/bswap.h.
 1.4 29-Sep-1998  thorpej Signal changes for Alpha.
 1.3 29-Apr-1995  cgd add entries for the float rounding and exception functions
 1.2 25-Feb-1995  cgd don't forget inifinity.c
 1.1 25-Feb-1995  cgd need these for new gen/Makefile
 1.7.6.3 22-Mar-2002  nathanw Catch up to -current.
 1.7.6.2 08-Mar-2002  nathanw Catch up to -current.
 1.7.6.1 17-Nov-2001  nathanw Alpha support for *context and LWPs.
 1.18.6.1 19-Apr-2005  tron Pull up revision 1.19 (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.8 25-May-2021  thorpej POSIX sez:
The longjmp() function shall not cause setjmp() to return 0; if val
is 0, setjmp() shall return 1.

Fixes the _longjmp_zero and longjmp_zero test cases in the t_setjmp
test on alpha.
 1.7 13-Mar-2013  martin branches: 1.7.36;
Remove clearing of ucontext_t, the only random register values now are
argument and scratch registers (which will be reloaded after return anyway).
 1.6 12-Mar-2013  martin Save the GP register value and restore it on longjmp.

While formally GP is not a callee-saved register, for static linking
the link time optimization described in section 3.2.3 of the "Calling
Standard for Alpha Systems" allows the caller to rely on GP being the
value needed within setjmp() - and not restore it after return if setjmp
and the call site share a GP value.

This fixes longjmp/setjmp for statically linked programs, e.g. /rescue/csh
or the static tcsh variant from pkgsrc.
 1.5 28-Apr-2008  martin branches: 1.5.4; 1.5.8; 1.5.24; 1.5.28; 1.5.30;
Remove clause 3 and 4 from TNF licenses
 1.4 14-Sep-2005  martin branches: 1.4.18;
Add missing <compat/include/setjmp.h>
 1.3 23-Mar-2004  simonb Put the jmpbuf's FPCR in the ucontext, not the other way around.
 1.2 23-Mar-2004  simonb Fix <tab> nits.
 1.1 21-Mar-2004  matt Change longjmp to use setcontext instead of sigreturn14. Change setjmp
to use symbolic offsets via assym.h
 1.4.18.1 18-May-2008  yamt sync with head.
 1.5.30.1 14-Mar-2013  riz Pull up following revision(s) (requested by martin in ticket #846):
lib/libc/arch/alpha/gen/__setjmp14.S: revision 1.6
lib/libc/arch/alpha/gen/__longjmp14.c: revision 1.6
lib/libc/arch/alpha/gen/__longjmp14.c: revision 1.7
Save the GP register value and restore it on longjmp.
While formally GP is not a callee-saved register, for static linking
the link time optimization described in section 3.2.3 of the "Calling
Standard for Alpha Systems" allows the caller to rely on GP being the
value needed within setjmp() - and not restore it after return if setjmp
and the call site share a GP value.
This fixes longjmp/setjmp for statically linked programs, e.g. /rescue/csh
or the static tcsh variant from pkgsrc.
Remove clearing of ucontext_t, the only random register values now are
argument and scratch registers (which will be reloaded after return anyway).
 1.5.28.1 23-Jun-2013  tls resync from head
 1.5.24.1 14-Mar-2013  riz Pull up following revision(s) (requested by martin in ticket #846):
lib/libc/arch/alpha/gen/__setjmp14.S: revision 1.6
lib/libc/arch/alpha/gen/__longjmp14.c: revision 1.6
lib/libc/arch/alpha/gen/__longjmp14.c: revision 1.7
Save the GP register value and restore it on longjmp.
While formally GP is not a callee-saved register, for static linking
the link time optimization described in section 3.2.3 of the "Calling
Standard for Alpha Systems" allows the caller to rely on GP being the
value needed within setjmp() - and not restore it after return if setjmp
and the call site share a GP value.
This fixes longjmp/setjmp for statically linked programs, e.g. /rescue/csh
or the static tcsh variant from pkgsrc.
Remove clearing of ucontext_t, the only random register values now are
argument and scratch registers (which will be reloaded after return anyway).
 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 __longjmp14.c was added on branch christos-time_t on 2008-04-28 20:22:56 +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.7.36.1 31-May-2021  cjep sync with head
 1.9 06-Jul-2021  thorpej Ensure that the stack is always 16-byte aligned by rounding sizes as needed.

All changes from rin@ except swapcontext.S, which is from me (added
symbolic constants to make the code clearer).
 1.8 21-Oct-2020  thorpej - Consistently use _REG_* defines from assym.h to mean register numbers,
not offsets (i.e. *8 to get the offset).
- Define and use SIZEOF_SIGINFO and UC_GREGS constants, rather than
hard-code magic numbers.

NFC -- same object code is generated.
 1.7 23-Jan-2014  christos Use a constant in the text segment to avoid the .lit8 out of range relocation
error.
 1.6 12-Mar-2013  martin Save the GP register value and restore it on longjmp.

While formally GP is not a callee-saved register, for static linking
the link time optimization described in section 3.2.3 of the "Calling
Standard for Alpha Systems" allows the caller to rely on GP being the
value needed within setjmp() - and not restore it after return if setjmp
and the call site share a GP value.

This fixes longjmp/setjmp for statically linked programs, e.g. /rescue/csh
or the static tcsh variant from pkgsrc.
 1.5 12-Jun-2011  matt branches: 1.5.2; 1.5.4; 1.5.8; 1.5.10;
Use excb before and after the mt_fpcr/mf_fpcr instructions as specified
in the alpha ARM 4.7.8.1 (Accessing the FPCR):

Because Alpha floating-point hardware can overlap the execution of
a number of floating-point instructions, accessing the FPCR must
be synchronized with other floating-point instructions. An EXCB
instruction must be issued both prior to and after accessing the
FPCR to ensure that the FPCR access is synchronized with the
execution of previous and subsequent floating-point instructions;
otherwise synchronization is not ensured.

Use unions to convert between double and uint64_t to avoid casting.
 1.4 21-Mar-2004  matt branches: 1.4.54;
Change longjmp to use setcontext instead of sigreturn14. Change setjmp
to use symbolic offsets via assym.h
 1.3 07-Oct-2003  skd Siginfo libc changes for alpha. Approved by thorpej@netbsd.org.
 1.2 14-Jun-2000  cgd fix up NetBSD RCS Ids to match the standard, and the leading comment as
to match as well. No functional changes.
 1.1 29-Sep-1998  thorpej branches: 1.1.8;
Signal changes for Alpha.
 1.1.8.1 23-Jun-2000  minoura Sync w/ netbsd-1-5-base.
 1.4.54.1 23-Jun-2011  cherry Catchup with rmind-uvmplock merge.
 1.5.10.1 14-Mar-2013  riz Pull up following revision(s) (requested by martin in ticket #846):
lib/libc/arch/alpha/gen/__setjmp14.S: revision 1.6
lib/libc/arch/alpha/gen/__longjmp14.c: revision 1.6
lib/libc/arch/alpha/gen/__longjmp14.c: revision 1.7
Save the GP register value and restore it on longjmp.
While formally GP is not a callee-saved register, for static linking
the link time optimization described in section 3.2.3 of the "Calling
Standard for Alpha Systems" allows the caller to rely on GP being the
value needed within setjmp() - and not restore it after return if setjmp
and the call site share a GP value.
This fixes longjmp/setjmp for statically linked programs, e.g. /rescue/csh
or the static tcsh variant from pkgsrc.
Remove clearing of ucontext_t, the only random register values now are
argument and scratch registers (which will be reloaded after return anyway).
 1.5.8.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.5.8.1 23-Jun-2013  tls resync from head
 1.5.4.1 14-Mar-2013  riz Pull up following revision(s) (requested by martin in ticket #846):
lib/libc/arch/alpha/gen/__setjmp14.S: revision 1.6
lib/libc/arch/alpha/gen/__longjmp14.c: revision 1.6
lib/libc/arch/alpha/gen/__longjmp14.c: revision 1.7
Save the GP register value and restore it on longjmp.
While formally GP is not a callee-saved register, for static linking
the link time optimization described in section 3.2.3 of the "Calling
Standard for Alpha Systems" allows the caller to rely on GP being the
value needed within setjmp() - and not restore it after return if setjmp
and the call site share a GP value.
This fixes longjmp/setjmp for statically linked programs, e.g. /rescue/csh
or the static tcsh variant from pkgsrc.
Remove clearing of ucontext_t, the only random register values now are
argument and scratch registers (which will be reloaded after return anyway).
 1.5.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 14-Jun-2000  cgd fix up NetBSD RCS Ids to match the standard, and the leading comment as
to match as well. No functional changes.
 1.1 29-Sep-1998  thorpej branches: 1.1.8;
Signal changes for Alpha.
 1.1.8.1 23-Jun-2000  minoura Sync w/ netbsd-1-5-base.
 1.10 27-Apr-2025  riastradh lib/libc/arch/alpha: Say STACK_ALIGNBYTES, not 0xf, where relevant.

No functional change intended.

PR kern/59327: user stack pointer is not aligned properly
 1.9 27-Apr-2025  riastradh lib/libc/arch/alpha/gen/_lwp.c, makecontext.c: Sort includes.

No functional change intended.

Preparation for tidying for:

PR kern/59327: user stack pointer is not aligned properly
 1.8 06-Jul-2021  thorpej branches: 1.8.4;
Ensure that the stack is always 16-byte aligned by rounding sizes as needed.

All changes from rin@ except swapcontext.S, which is from me (added
symbolic constants to make the code clearer).
 1.7 12-Sep-2012  manu Fix the build, _UC_UNIQUE has been renamed _UC_TLSBASE
 1.6 24-Feb-2011  joerg branches: 1.6.4; 1.6.10;
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.5 28-Apr-2008  martin branches: 1.5.8; 1.5.20;
Remove clause 3 and 4 from TNF licenses
 1.4 12-Jun-2005  lukem branches: 1.4.18;
Add missing __RCSID()
 1.3 07-Apr-2003  kleink Make sure we reference getcontext() by its internal name.
 1.2 18-Jan-2003  thorpej Merge the nathanw_sa branch.
 1.1 17-Nov-2001  nathanw branches: 1.1.2;
file _lwp.c was initially added on branch nathanw_sa.
 1.1.2.4 16-Jan-2003  thorpej Add missing notice.
 1.1.2.3 28-Jan-2002  nathanw Align the stack pointer.
 1.1.2.2 17-Dec-2001  nathanw Update to/to work with Klaus's mcontext code.
 1.1.2.1 17-Nov-2001  nathanw Alpha support for *context and LWPs.
 1.4.18.1 18-May-2008  yamt sync with head.
 1.5.20.1 05-Mar-2011  bouyer 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 _lwp.c was added on branch christos-time_t on 2008-04-28 20:22:56 +0000
 1.6.10.1 20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.6.4.1 30-Oct-2012  yamt sync with head
 1.8.4.1 02-Aug-2025  perseant Sync with HEAD
 1.3 22-Apr-2008  dogcow branches: 1.3.8;
add matching END(). found via -Wa,--fatal-warnings
 1.2 01-Mar-2004  drochner branches: 1.2.30;
blow this up by sticking a copyright notice to it
 1.1 01-Mar-2004  drochner we need a silly trampoline to make _resumecontext work
 1.2.30.1 18-May-2008  yamt sync with head.
 1.3.8.2 22-Apr-2008  dogcow add matching END(). found via -Wa,--fatal-warnings
 1.3.8.1 22-Apr-2008  dogcow file _resumecontext.S was added on branch christos-time_t on 2008-04-22 04:47:45 +0000
 1.4 16-Sep-2005  drochner these went to compat
 1.3 14-Jun-2000  cgd fix up NetBSD RCS Ids to match the standard, and the leading comment as
to match as well. No functional changes.
 1.2 17-Oct-1996  cgd branches: 1.2.12;
catch up with <machine/asm.h> changes, SYS.h changes, and the removal
of DEFS.h
 1.1 10-Feb-1995  cgd libc support for the alpha. more functions should be written in assembler,
but that's optimization. 8-)
 1.2.12.1 23-Jun-2000  minoura Sync w/ netbsd-1-5-base.
 1.4 20-Dec-2005  christos Use reach-over sources from common/lib/libc
 1.3 14-Jun-2000  cgd fix up NetBSD RCS Ids to match the standard, and the leading comment as
to match as well. No functional changes.
 1.2 22-Jan-1999  mycroft branches: 1.2.8;
Use insbl to reduce by 1 instruction.
 1.1 15-Jan-1999  bouyer Move the bswap functions from libutil to libc (this bups the
minor of libc and the major of libutil). For little-endian architectures
merge the bnswap() assembly versions with nto* and hton* using symbols
aliasing. Use symbol renaming for the bswap function in this case to avoid
namespace pollution.
Declare bswap* in machine/bswap.h, not machine/endian.h. For little-endian
machines, common code for inline macros go in machine/byte_swap.h
Sync libkern with libc.
Adjust #include in kernel sources for machine/bswap.h.
 1.2.8.1 23-Jun-2000  minoura Sync w/ netbsd-1-5-base.
 1.5 20-Dec-2005  christos Use reach-over sources from common/lib/libc
 1.4 14-Jun-2000  cgd fix up NetBSD RCS Ids to match the standard, and the leading comment as
to match as well. No functional changes.
 1.3 22-Jan-1999  mycroft branches: 1.3.8;
Whitespace fix.
 1.2 22-Jan-1999  mycroft Use insbl to reduce by 1 instruction.
 1.1 15-Jan-1999  bouyer Move the bswap functions from libutil to libc (this bups the
minor of libc and the major of libutil). For little-endian architectures
merge the bnswap() assembly versions with nto* and hton* using symbols
aliasing. Use symbol renaming for the bswap function in this case to avoid
namespace pollution.
Declare bswap* in machine/bswap.h, not machine/endian.h. For little-endian
machines, common code for inline macros go in machine/byte_swap.h
Sync libkern with libc.
Adjust #include in kernel sources for machine/bswap.h.
 1.3.8.1 23-Jun-2000  minoura Sync w/ netbsd-1-5-base.
 1.9 21-Jan-2002  ross Don't intentionally enable integer overflow traps (ITOH Yasufumi)
Closes port-alpha/10065
 1.8 14-Jun-2000  cgd branches: 1.8.4;
fix up NetBSD RCS Ids to match the standard, and the leading comment as
to match as well. No functional changes.
 1.7 17-Oct-1996  cgd branches: 1.7.12;
catch up with <machine/asm.h> changes, SYS.h changes, and the removal
of DEFS.h
 1.6 09-Sep-1996  cgd remove unused local label
 1.5 30-Sep-1995  cgd deal properly (i hope!) with registers' upper 32 bits, when doing
32-bit division and remainder. Sometimes, when optimizing, they could
have been different than previously expected (and could have caused
hokey results).
 1.4 30-Sep-1995  cgd kill some now-bogus XXX's
 1.3 14-Aug-1995  cgd save & restore the argument registers, too. from Trevor Blackwell
 1.2 25-Feb-1995  cgd strange corner cases:
(1) zero top 32 bits for 32-bit unsigned ops; 32-bit value can
be accidentally(?) sign-extended by the compiler/assembler.
(2) fix return value for mod's that cause traps
 1.1 10-Feb-1995  cgd libc support for the alpha. more functions should be written in assembler,
but that's optimization. 8-)
 1.7.12.1 23-Jun-2000  minoura Sync w/ netbsd-1-5-base.
 1.8.4.1 28-Jan-2002  nathanw Catch up to -current.
 1.4 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.3 14-Jun-2000  cgd branches: 1.3.102; 1.3.104;
fix up NetBSD RCS Ids to match the standard, and the leading comment as
to match as well. No functional changes.
 1.2 17-Oct-1996  cgd branches: 1.2.12;
catch up with <machine/asm.h> changes, SYS.h changes, and the removal
of DEFS.h
 1.1 10-Feb-1995  cgd libc support for the alpha. more functions should be written in assembler,
but that's optimization. 8-)
 1.2.12.1 23-Jun-2000  minoura Sync w/ netbsd-1-5-base.
 1.3.104.1 10-Jun-2019  christos Sync with HEAD
 1.3.102.1 26-Nov-2018  pgoyette Sync with HEAD, resolve a couple of conflicts
 1.10 03-Aug-2014  wiz defintion -> definition
 1.9 12-Jun-2011  matt branches: 1.9.8; 1.9.18;
Use excb before and after the mt_fpcr/mf_fpcr instructions as specified
in the alpha ARM 4.7.8.1 (Accessing the FPCR):

Because Alpha floating-point hardware can overlap the execution of
a number of floating-point instructions, accessing the FPCR must
be synchronized with other floating-point instructions. An EXCB
instruction must be issued both prior to and after accessing the
FPCR to ensure that the FPCR access is synchronized with the
execution of previous and subsequent floating-point instructions;
otherwise synchronization is not ensured.

Use unions to convert between double and uint64_t to avoid casting.
 1.8 24-Dec-2005  perry branches: 1.8.42;
__asm__ -> __asm
 1.7 12-Jun-2005  lukem Add missing __RCSID()
 1.6 27-Jul-2003  mrg add a cast appease gcc3.3
 1.5 26-Jul-2003  salo netbsd.org->NetBSD.org
 1.4 14-Jun-2000  cgd sweep of my licenses (userland files w/o only my copyright) for
consistency. (no functional changes)
 1.3 14-Jun-2000  cgd fix up NetBSD RCS Ids to match the standard, and the leading comment as
to match as well. No functional changes.
 1.2 18-Jul-1997  thorpej branches: 1.2.10;
Pull in __flt_rounds() prototype.
 1.1 29-Apr-1995  cgd get & set FP rounding direction. these actually seem to work.
 1.2.10.1 23-Jun-2000  minoura Sync w/ netbsd-1-5-base.
 1.8.42.1 23-Jun-2011  cherry Catchup with rmind-uvmplock merge.
 1.9.18.1 10-Aug-2014  tls Rebase.
 1.9.8.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.5 12-Jun-2005  lukem Add missing __RCSID()
 1.4 13-Jan-2002  thorpej Add internal names for fp{get,set}{mask,round,sticky}(), and
externally-visible weak aliases for the internal names.
 1.3 26-Apr-2001  ross minor cleanup
 1.2 30-Apr-1999  ross branches: 1.2.10;
* New MI man page for fp{set,get}{round,sticky,mask}(3).
* Implement fpgetsticky() for alpha.
* Direct fpsetsticky() and fp{get,set}mask() into alpha kernel via sysarch(2).
* Define new sysarch(2) stub for above and install and distribute sysarch.h
for alpha. (The fpcr IS user mode r/w, but for reasons beyond the scope
of a commit message kernel calls are needed.) And much kernel Magick is
required before these do anything, but this way programs compiled under
1.4 will DTRT on future snapshots and releases.
 1.1 29-Apr-1995  cgd branches: 1.1.12;
functions to set FP exception masks & sticky exceptions. they abort, for now.
 1.1.12.1 30-Apr-1999  perry pullup 1.1->1.2 (ross)
 1.2.10.2 28-Jan-2002  nathanw Catch up to -current.
 1.2.10.1 08-Oct-2001  nathanw Catch up to -current.
 1.11 21-Mar-2012  he Add some casts to get rid of "bitwise op on signed value is non-portable"
warning from lint.
 1.10 12-Jun-2011  matt branches: 1.10.2;
Use excb before and after the mt_fpcr/mf_fpcr instructions as specified
in the alpha ARM 4.7.8.1 (Accessing the FPCR):

Because Alpha floating-point hardware can overlap the execution of
a number of floating-point instructions, accessing the FPCR must
be synchronized with other floating-point instructions. An EXCB
instruction must be issued both prior to and after accessing the
FPCR to ensure that the FPCR access is synchronized with the
execution of previous and subsequent floating-point instructions;
otherwise synchronization is not ensured.

Use unions to convert between double and uint64_t to avoid casting.
 1.9 24-Dec-2005  perry branches: 1.9.42;
__asm__ -> __asm
 1.8 12-Jun-2005  lukem Add missing __RCSID()
 1.7 27-Jul-2003  mrg add a cast appease gcc3.3
 1.6 26-Jul-2003  salo netbsd.org->NetBSD.org
 1.5 13-Jan-2002  thorpej Add internal names for fp{get,set}{mask,round,sticky}(), and
externally-visible weak aliases for the internal names.
 1.4 26-Apr-2001  ross remove the trapb ops bracketing mf_fpcr, in this one case they aren't needed
 1.3 14-Jun-2000  cgd branches: 1.3.4;
sweep of my licenses (userland files w/o only my copyright) for
consistency. (no functional changes)
 1.2 14-Jun-2000  cgd fix up NetBSD RCS Ids to match the standard, and the leading comment as
to match as well. No functional changes.
 1.1 29-Apr-1995  cgd branches: 1.1.18;
get & set FP rounding direction. these actually seem to work.
 1.1.18.1 23-Jun-2000  minoura Sync w/ netbsd-1-5-base.
 1.3.4.2 28-Jan-2002  nathanw Catch up to -current.
 1.3.4.1 08-Oct-2001  nathanw Catch up to -current.
 1.9.42.1 23-Jun-2011  cherry Catchup with rmind-uvmplock merge.
 1.10.2.1 17-Apr-2012  yamt sync with head
 1.9 10-May-2008  martin branches: 1.9.6;
Backout previous: the license sweep touched these files in error, so
restore the old license.
 1.8 28-Apr-2008  martin branches: 1.8.2;
Remove clause 3 and 4 from TNF licenses
 1.7 12-Jun-2005  lukem Add missing __RCSID()
 1.6 13-Jan-2002  thorpej Add internal names for fp{get,set}{mask,round,sticky}(), and
externally-visible weak aliases for the internal names.
 1.5 26-Apr-2001  ross Complete rewrite. Call the new sysarch(ALPHA_FPGETSTICKY, ...).
 1.4 14-Jun-2000  cgd branches: 1.4.4;
sweep of my licenses (userland files w/o only my copyright) for
consistency. (no functional changes)
 1.3 14-Jun-2000  cgd fix up NetBSD RCS Ids to match the standard, and the leading comment as
to match as well. No functional changes.
 1.2 30-Apr-1999  ross branches: 1.2.6;
* New MI man page for fp{set,get}{round,sticky,mask}(3).
* Implement fpgetsticky() for alpha.
* Direct fpsetsticky() and fp{get,set}mask() into alpha kernel via sysarch(2).
* Define new sysarch(2) stub for above and install and distribute sysarch.h
for alpha. (The fpcr IS user mode r/w, but for reasons beyond the scope
of a commit message kernel calls are needed.) And much kernel Magick is
required before these do anything, but this way programs compiled under
1.4 will DTRT on future snapshots and releases.
 1.1 29-Apr-1995  cgd branches: 1.1.12;
functions to set FP exception masks & sticky exceptions. they abort, for now.
 1.1.12.1 30-Apr-1999  perry pullup 1.1->1.2 (ross)
 1.2.6.1 23-Jun-2000  minoura Sync w/ netbsd-1-5-base.
 1.4.4.2 28-Jan-2002  nathanw Catch up to -current.
 1.4.4.1 08-Oct-2001  nathanw Catch up to -current.
 1.8.2.1 23-Jun-2008  wrstuden Sync w/ -current. 34 merge conflicts to follow.
 1.9.6.2 10-May-2008  martin Backout previous: the license sweep touched these files in error, so
restore the old license.
 1.9.6.1 10-May-2008  martin file fpgetsticky.c was added on branch christos-time_t on 2008-05-10 15:31:05 +0000
 1.5 02-Nov-2013  christos fix old style decls
 1.4 12-Jun-2005  lukem branches: 1.4.44; 1.4.50;
Add missing __RCSID()
 1.3 13-Jan-2002  thorpej Add internal names for fp{get,set}{mask,round,sticky}(), and
externally-visible weak aliases for the internal names.
 1.2 30-Apr-1999  ross branches: 1.2.10;
* New MI man page for fp{set,get}{round,sticky,mask}(3).
* Implement fpgetsticky() for alpha.
* Direct fpsetsticky() and fp{get,set}mask() into alpha kernel via sysarch(2).
* Define new sysarch(2) stub for above and install and distribute sysarch.h
for alpha. (The fpcr IS user mode r/w, but for reasons beyond the scope
of a commit message kernel calls are needed.) And much kernel Magick is
required before these do anything, but this way programs compiled under
1.4 will DTRT on future snapshots and releases.
 1.1 29-Apr-1995  cgd branches: 1.1.12;
functions to set FP exception masks & sticky exceptions. they abort, for now.
 1.1.12.1 30-Apr-1999  perry pullup 1.1->1.2 (ross)
 1.2.10.1 28-Jan-2002  nathanw Catch up to -current.
 1.4.50.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.4.44.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 21-Mar-2012  he Add some casts to get rid of "bitwise op on signed value is non-portable"
warning from lint.
 1.11 12-Jun-2011  matt branches: 1.11.2;
Use excb before and after the mt_fpcr/mf_fpcr instructions as specified
in the alpha ARM 4.7.8.1 (Accessing the FPCR):

Because Alpha floating-point hardware can overlap the execution of
a number of floating-point instructions, accessing the FPCR must
be synchronized with other floating-point instructions. An EXCB
instruction must be issued both prior to and after accessing the
FPCR to ensure that the FPCR access is synchronized with the
execution of previous and subsequent floating-point instructions;
otherwise synchronization is not ensured.

Use unions to convert between double and uint64_t to avoid casting.
 1.10 24-Dec-2005  perry branches: 1.10.42;
__asm__ -> __asm
 1.9 12-Jun-2005  lukem Add missing __RCSID()
 1.8 27-Jul-2003  mrg add a cast appease gcc3.3
 1.7 26-Jul-2003  salo netbsd.org->NetBSD.org
 1.6 13-Jan-2002  thorpej Add internal names for fp{get,set}{mask,round,sticky}(), and
externally-visible weak aliases for the internal names.
 1.5 26-Apr-2001  ross tweak barrier ops some more
 1.4 26-Apr-2001  ross Delete the trapb ops bracketing mf_fpcr, they aren't needed.
Change the trapb ops bracketing mt_fpcr to excb ops.
 1.3 14-Jun-2000  cgd branches: 1.3.4;
sweep of my licenses (userland files w/o only my copyright) for
consistency. (no functional changes)
 1.2 14-Jun-2000  cgd fix up NetBSD RCS Ids to match the standard, and the leading comment as
to match as well. No functional changes.
 1.1 29-Apr-1995  cgd branches: 1.1.18;
get & set FP rounding direction. these actually seem to work.
 1.1.18.1 23-Jun-2000  minoura Sync w/ netbsd-1-5-base.
 1.3.4.2 28-Jan-2002  nathanw Catch up to -current.
 1.3.4.1 08-Oct-2001  nathanw Catch up to -current.
 1.10.42.1 23-Jun-2011  cherry Catchup with rmind-uvmplock merge.
 1.11.2.1 17-Apr-2012  yamt sync with head
 1.5 02-Nov-2013  christos fix old style decls
 1.4 12-Jun-2005  lukem branches: 1.4.44; 1.4.50;
Add missing __RCSID()
 1.3 13-Jan-2002  thorpej Add internal names for fp{get,set}{mask,round,sticky}(), and
externally-visible weak aliases for the internal names.
 1.2 30-Apr-1999  ross branches: 1.2.10;
* New MI man page for fp{set,get}{round,sticky,mask}(3).
* Implement fpgetsticky() for alpha.
* Direct fpsetsticky() and fp{get,set}mask() into alpha kernel via sysarch(2).
* Define new sysarch(2) stub for above and install and distribute sysarch.h
for alpha. (The fpcr IS user mode r/w, but for reasons beyond the scope
of a commit message kernel calls are needed.) And much kernel Magick is
required before these do anything, but this way programs compiled under
1.4 will DTRT on future snapshots and releases.
 1.1 29-Apr-1995  cgd branches: 1.1.12;
functions to set FP exception masks & sticky exceptions. they abort, for now.
 1.1.12.1 30-Apr-1999  perry pullup 1.1->1.2 (ross)
 1.2.10.1 28-Jan-2002  nathanw Catch up to -current.
 1.4.50.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.4.44.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 19-Feb-2002  simonb Clean up some rampant code duplication wrt ieee number handling:
- Add alignment-safe double and float unions.
- Use the above for the __infinity and __nan constants on all
architectures that use the standard ieee754 representation of
those constants.
- Add a single copy of various ieee754 math functions (frexp, isinf,
isnan, ldexp and modf) that had numerous duplicates among the
arch-specific directories.
- Use the above functions on all architectures where the generic C
versions where used. Architectures that had local assembly
routines are untouched (for those functions only).
 1.4 29-Aug-1999  mycroft branches: 1.4.10;
Trivial KNF.
 1.3 29-Aug-1999  mycroft Make the C version of frexp() consitent across platforms, and handle the
Inf/NaN case.
 1.2 10-Mar-1999  mycroft Just some minor cleanup.
 1.1 10-Feb-1995  cgd libc support for the alpha. more functions should be written in assembler,
but that's optimization. 8-)
 1.4.10.1 08-Mar-2002  nathanw Catch up to -current.
 1.7 19-Feb-2002  simonb Clean up some rampant code duplication wrt ieee number handling:
- Add alignment-safe double and float unions.
- Use the above for the __infinity and __nan constants on all
architectures that use the standard ieee754 representation of
those constants.
- Add a single copy of various ieee754 math functions (frexp, isinf,
isnan, ldexp and modf) that had numerous duplicates among the
arch-specific directories.
- Use the above functions on all architectures where the generic C
versions where used. Architectures that had local assembly
routines are untouched (for those functions only).
 1.6 14-Jun-2000  cgd branches: 1.6.4;
fix up NetBSD RCS Ids to match the standard, and the leading comment as
to match as well. No functional changes.
 1.5 25-Apr-2000  erh branches: 1.5.2;
Fix unaligned accesses more correctly.
 1.4 25-Apr-2000  erh Fix unaligned accesses.
 1.3 14-Nov-1998  christos delint
 1.2 26-Jul-1998  mycroft const poisoning.
 1.1 10-Feb-1995  cgd libc support for the alpha. more functions should be written in assembler,
but that's optimization. 8-)
 1.5.2.1 23-Jun-2000  minoura Sync w/ netbsd-1-5-base.
 1.6.4.1 08-Mar-2002  nathanw Catch up to -current.
 1.6 19-Feb-2002  simonb Clean up some rampant code duplication wrt ieee number handling:
- Add alignment-safe double and float unions.
- Use the above for the __infinity and __nan constants on all
architectures that use the standard ieee754 representation of
those constants.
- Add a single copy of various ieee754 math functions (frexp, isinf,
isnan, ldexp and modf) that had numerous duplicates among the
arch-specific directories.
- Use the above functions on all architectures where the generic C
versions where used. Architectures that had local assembly
routines are untouched (for those functions only).
 1.5 22-Jan-2000  mycroft branches: 1.5.6;
Delint.
 1.4 29-Aug-1999  mycroft Separate isnan() into a separate module, and make isinf()/isnan() use ieee.h.
 1.3 14-Nov-1998  christos delint
 1.2 13-Oct-1998  kleink Need internal names for isinf() and isnan().
 1.1 10-Feb-1995  cgd branches: 1.1.2;
libc support for the alpha. more functions should be written in assembler,
but that's optimization. 8-)
 1.1.2.1 18-Apr-1995  jtc namespace protect isnan() and isinf()
 1.5.6.1 08-Mar-2002  nathanw Catch up to -current.
 1.3 19-Feb-2002  simonb Clean up some rampant code duplication wrt ieee number handling:
- Add alignment-safe double and float unions.
- Use the above for the __infinity and __nan constants on all
architectures that use the standard ieee754 representation of
those constants.
- Add a single copy of various ieee754 math functions (frexp, isinf,
isnan, ldexp and modf) that had numerous duplicates among the
arch-specific directories.
- Use the above functions on all architectures where the generic C
versions where used. Architectures that had local assembly
routines are untouched (for those functions only).
 1.2 22-Jan-2000  mycroft branches: 1.2.6;
Delint.
 1.1 29-Aug-1999  mycroft Separate isnan() into a separate module, and make isinf()/isnan() use ieee.h.
 1.2.6.1 08-Mar-2002  nathanw Catch up to -current.
 1.11 19-Feb-2002  simonb Clean up some rampant code duplication wrt ieee number handling:
- Add alignment-safe double and float unions.
- Use the above for the __infinity and __nan constants on all
architectures that use the standard ieee754 representation of
those constants.
- Add a single copy of various ieee754 math functions (frexp, isinf,
isnan, ldexp and modf) that had numerous duplicates among the
arch-specific directories.
- Use the above functions on all architectures where the generic C
versions where used. Architectures that had local assembly
routines are untouched (for those functions only).
 1.10 08-Nov-2001  enami Fix -Wshadow warnings.
 1.9 30-Aug-1999  mycroft branches: 1.9.10;
Another microoptimization. Take advantage of the addition already having set
the flags for the <=0 comparison.
 1.8 30-Aug-1999  mycroft Reuse the trick of loading 0.0 (rather than 1.0) and then modifying the
exponent. It's a bit faster on some machines.
 1.7 30-Aug-1999  augustss Remove more unused mulexp variables.
 1.6 29-Aug-1999  mycroft ldexp(denormal, exp>1023) would generate the wrong result in all non-overflow
cases. Totally rework this code to fix this bug *and* make it faster.
 1.5 29-Aug-1999  mycroft Don't ever return -0.0.
 1.4 29-Aug-1999  mycroft Minor style change.
 1.3 29-Aug-1999  mycroft Sync with SPARC version.
 1.2 10-Mar-1999  mycroft Just some minor cleanup.
 1.1 10-Feb-1995  cgd libc support for the alpha. more functions should be written in assembler,
but that's optimization. 8-)
 1.9.10.2 08-Mar-2002  nathanw Catch up to -current.
 1.9.10.1 14-Nov-2001  nathanw Catch up to -current.
 1.9 27-Apr-2025  riastradh lib/libc/arch/alpha: Say STACK_ALIGNBYTES, not 0xf, where relevant.

No functional change intended.

PR kern/59327: user stack pointer is not aligned properly
 1.8 27-Apr-2025  riastradh lib/libc/arch/alpha/gen/_lwp.c, makecontext.c: Sort includes.

No functional change intended.

Preparation for tidying for:

PR kern/59327: user stack pointer is not aligned properly
 1.7 06-Jul-2021  thorpej branches: 1.7.4;
Ensure that the stack is always 16-byte aligned by rounding sizes as needed.

All changes from rin@ except swapcontext.S, which is from me (added
symbolic constants to make the code clearer).
 1.6 20-Sep-2011  joerg Explicitly add back __resumecontext wrapper
 1.5 19-Sep-2011  joerg Mark _resumecontext as dead. ANSIfy all declarations for it.
 1.4 28-Apr-2008  martin branches: 1.4.8;
Remove clause 3 and 4 from TNF licenses
 1.3 01-Mar-2004  drochner branches: 1.3.30;
we need a silly trampoline to make _resumecontext work
 1.2 18-Jan-2003  thorpej Merge the nathanw_sa branch.
 1.1 17-Nov-2001  nathanw branches: 1.1.2;
file makecontext.c was initially added on branch nathanw_sa.
 1.1.2.3 06-Dec-2002  nathanw Set the PV register as well as the PC so that gp-loads work in the
called function.
 1.1.2.2 17-Dec-2001  nathanw Update to/to work with Klaus's mcontext code.
 1.1.2.1 17-Nov-2001  nathanw Alpha support for *context and LWPs.
 1.3.30.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 makecontext.c was added on branch christos-time_t on 2008-04-28 20:22:56 +0000
 1.7.4.1 02-Aug-2025  perseant Sync with HEAD
 1.4 19-Feb-2002  simonb Clean up some rampant code duplication wrt ieee number handling:
- Add alignment-safe double and float unions.
- Use the above for the __infinity and __nan constants on all
architectures that use the standard ieee754 representation of
those constants.
- Add a single copy of various ieee754 math functions (frexp, isinf,
isnan, ldexp and modf) that had numerous duplicates among the
arch-specific directories.
- Use the above functions on all architectures where the generic C
versions where used. Architectures that had local assembly
routines are untouched (for those functions only).
 1.3 14-Jun-2000  cgd branches: 1.3.4;
fix up NetBSD RCS Ids to match the standard, and the leading comment as
to match as well. No functional changes.
 1.2 13-Mar-2000  soren branches: 1.2.2;
Fix doubled 'the's.
 1.1 10-Feb-1995  cgd libc support for the alpha. more functions should be written in assembler,
but that's optimization. 8-)
 1.2.2.1 23-Jun-2000  minoura Sync w/ netbsd-1-5-base.
 1.3.4.1 08-Mar-2002  nathanw Catch up to -current.
 1.5 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.4 15-Apr-2005  kleink branches: 1.4.2; 1.4.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.3 19-Feb-2002  simonb Clean up some rampant code duplication wrt ieee number handling:
- Add alignment-safe double and float unions.
- Use the above for the __infinity and __nan constants on all
architectures that use the standard ieee754 representation of
those constants.
- Add a single copy of various ieee754 math functions (frexp, isinf,
isnan, ldexp and modf) that had numerous duplicates among the
arch-specific directories.
- Use the above functions on all architectures where the generic C
versions where used. Architectures that had local assembly
routines are untouched (for those functions only).
 1.2 21-Jan-2002  ross Align __nanf[] object with (sigh) gnuisms
 1.1 23-Dec-1999  kleink branches: 1.1.6;
C99: Define a NAN macro in <math.h> which evaulates to a constant expression of
a single-precision quiet NaN; only to be defined on platforms that do support
this value.
 1.1.6.2 08-Mar-2002  nathanw Catch up to -current.
 1.1.6.1 28-Jan-2002  nathanw Catch up to -current.
 1.4.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.4.2.2 19-Apr-2005  tron Pull up revision 1.4 (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.4.2.1 15-Apr-2005  tron file nanf.c was added on branch netbsd-3 on 2005-04-19 12:31:03 +0000
 1.5 19-Sep-2011  joerg Mark _resumecontext as dead. ANSIfy all declarations for it.
 1.4 28-Apr-2008  martin branches: 1.4.8;
Remove clause 3 and 4 from TNF licenses
 1.3 08-Nov-2006  drochner branches: 1.3.16;
-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 18-Jan-2003  thorpej Merge the nathanw_sa branch.
 1.1 17-Nov-2001  nathanw branches: 1.1.2;
file resumecontext.c was initially added on branch nathanw_sa.
 1.1.2.2 17-Dec-2001  nathanw Update to/to work with Klaus's mcontext code.
 1.1.2.1 17-Nov-2001  nathanw Alpha support for *context and LWPs.
 1.3.16.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 resumecontext.c was added on branch christos-time_t on 2008-04-28 20:22:56 +0000
 1.5 16-Sep-2005  drochner these went to compat
 1.4 14-Jun-2000  cgd fix up NetBSD RCS Ids to match the standard, and the leading comment as
to match as well. No functional changes.
 1.3 05-Dec-1997  thorpej branches: 1.3.8;
Make setjmp() work again after the changes to sigaltstack().
 1.2 17-Oct-1996  cgd catch up with <machine/asm.h> changes, SYS.h changes, and the removal
of DEFS.h
 1.1 10-Feb-1995  cgd libc support for the alpha. more functions should be written in assembler,
but that's optimization. 8-)
 1.3.8.1 23-Jun-2000  minoura Sync w/ netbsd-1-5-base.
 1.4 16-Sep-2005  drochner these went to compat
 1.3 14-Jun-2000  cgd fix up NetBSD RCS Ids to match the standard, and the leading comment as
to match as well. No functional changes.
 1.2 17-Oct-1996  cgd branches: 1.2.12;
catch up with <machine/asm.h> changes, SYS.h changes, and the removal
of DEFS.h
 1.1 10-Feb-1995  cgd libc support for the alpha. more functions should be written in assembler,
but that's optimization. 8-)
 1.2.12.1 23-Jun-2000  minoura Sync w/ netbsd-1-5-base.
 1.5 06-Jul-2021  thorpej Ensure that the stack is always 16-byte aligned by rounding sizes as needed.

All changes from rin@ except swapcontext.S, which is from me (added
symbolic constants to make the code clearer).
 1.4 21-Oct-2020  thorpej - Consistently use _REG_* defines from assym.h to mean register numbers,
not offsets (i.e. *8 to get the offset).
- Define and use SIZEOF_SIGINFO and UC_GREGS constants, rather than
hard-code magic numbers.

NFC -- same object code is generated.
 1.3 28-Apr-2008  martin branches: 1.3.8;
Remove clause 3 and 4 from TNF licenses
 1.2 18-Jan-2003  thorpej branches: 1.2.30;
Merge the nathanw_sa branch.
 1.1 17-Nov-2001  nathanw branches: 1.1.2;
file swapcontext.S was initially added on branch nathanw_sa.
 1.1.2.3 05-Nov-2002  nathanw Adjust the saved RA as well as the saved PC.
Fixes crash in test cu5.
 1.1.2.2 17-Dec-2001  nathanw Update to/to work with Klaus's mcontext code.
 1.1.2.1 17-Nov-2001  nathanw Alpha support for *context and LWPs.
 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 swapcontext.S was added on branch christos-time_t on 2008-04-28 20:22:56 +0000

RSS XML Feed