Home | History | Annotate | only in /src/lib/libc/arch/powerpc
History log of /src/lib/libc/arch/powerpc
RevisionDateAuthorComments
 1.15 31-Oct-2021  thorpej Tidy up how __sigaction14_sigtramp.c is added to SRCS.
 1.14 30-Aug-2013  matt Use a constructor to get the cache_info.
However memset can be called before the constructor is called, just treat
those as simple fills.
Add CACHE_INFO_DCACHE_LINE_SIZE to assym.h and use it
 1.13 17-Jan-2011  matt branches: 1.13.6; 1.13.12;
Kill _NOREGNAMES. Everything should be using %rX now. If it doesn't it
soon will.
 1.12 16-Jan-2011  matt Switch to the PIC_GOTSETUP/PIC_TOCSETUP macros for PIC code. Now libc
will be built to use secureplt by default.
 1.11 15-Jan-2011  matt Use END(foo) everywhere.
Make __cerror hidden.
Use non-PLT calls to __cerror.
Use assym.h when appropriate.
Use addi to adjust stack instead of loading it.
Add __RCSIDs
Force -D_NOREGNAMES for all .S files.
[this is all in preperation for secure plt support]
 1.10 17-Jun-2006  uwe G/c KMSRCS and KMINCLUDES now that we have common/lib/libc
 1.9 18-Feb-2006  matt Move PowerPC compat files from arch/powerpc to compat/arch/powerpc.
 1.8 09-Dec-2004  simonb libgcc has __fixunsdfsi and __fixunssfsi, so don't build
the softfloat versions of these.

Fixes PR toolchain/24509 from Masao Uebayashi.
 1.7 25-Sep-2003  matt Add siginfo signal trampoline.
 1.6 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.5 20-Feb-2002  eeh Add bzero.S and strlen.S to the stuff that gets installed in libkern.
 1.4 25-Nov-2001  mjl Add PPC assembler routines for ffs(3), bzero(3) and memset(3).
 1.3 18-Jun-2001  simonb Compile in soft-float support if MKSOFTFLOAT != "no".
 1.2 17-Apr-1999  ws branches: 1.2.10;
Modify syncicache on PowerPC from an inline to a real function.
Support different cache line sizes with the same object code in userland.
While here, move the function to implementation name space.
 1.1 29-Mar-1997  thorpej Architecture-specific bits for libc on the PowerPC. From Wolfgang
Solfrank <ws@tools.de>
 1.2.10.5 01-Aug-2002  nathanw Catch up to -current.
 1.2.10.4 22-Mar-2002  nathanw Catch up to -current.
 1.2.10.3 08-Mar-2002  nathanw Catch up to -current.
 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.13.12.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.13.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.13 23-Aug-2014  matt Minimize differences between powerpc and powerpc64
Fix powerpc64 assembly to use right instructions for 64bit CPUs.
Use hidden for __curbrk and __minbrk to avoid GOT/TOC relocations.
 1.12 15-Jan-2011  matt branches: 1.12.24;
Use END(foo) everywhere.
Make __cerror hidden.
Use non-PLT calls to __cerror.
Use assym.h when appropriate.
Use addi to adjust stack instead of loading it.
Add __RCSIDs
Force -D_NOREGNAMES for all .S files.
[this is all in preperation for secure plt support]
 1.11 30-Jul-2002  matt Convert to use register prefixes. (0 -> %r0, etc.)
 1.10 26-May-2002  wiz Revert previous: .S files are currently compiled with -traditional-cpp,
so __STDC__ is _not_ always defined.
 1.9 26-May-2002  wiz __STDC__ is always defined on NetBSD.
 1.8 14-Jan-2002  thorpej branches: 1.8.2;
* Add WSYSCALL() to SYS.h, which creates a system call with an
internal name and a weak alias for the name.
* Add a WEAKASM syscall list, and process it.
* Make sysarch() have an internal name (_sysarch()).
 1.7 14-Jan-1999  kleink branches: 1.7.12;
* On architectures using ELF, and conditionally on those in transition, rename
_ASM_LABEL(cerror) and _ASM_LABEL(curbrk) to _C_LABEL(__cerror) and
_C_LABEL(__curbrk) (or their respective architecture-specific equivalents) to
avoid possible name clashes with identifiers used in user applications.
* Do the same for minbrk on all architectures to avoid a GCC-specific (and
on ELF architectures effectively useless) symbol reference renaming in MI code.
 1.6 25-May-1998  ws Use asm.h defines for labels
 1.5 25-May-1998  ws Remove long obsolete copyright (should have been done before initial import)
 1.4 03-Feb-1998  thorpej Clean up _SYSCALL_NOERROR() a bit.
 1.3 16-Jul-1997  kleink Fix typo from last commit: `bnlsr' vs. 'bnslr'.
 1.2 02-May-1997  kleink Consistency: distinguish between PSEUDO() and PSEUDO_NOERROR().
 1.1 29-Mar-1997  thorpej Architecture-specific bits for libc on the PowerPC. From Wolfgang
Solfrank <ws@tools.de>
 1.7.12.3 01-Aug-2002  nathanw Catch up to -current.
 1.7.12.2 21-Jun-2002  nathanw Catch up to -current.
 1.7.12.1 28-Jan-2002  nathanw Catch up to -current.
 1.8.2.1 23-Jul-2004  tron Pull up revision 1.11 (requested by skrll in ticket #1725):
Convert to use register prefixes. (0 -> %r0, etc.)
 1.12.24.1 04-Feb-2015  martin Pull up following revision(s) (requested by chs in ticket #492):
lib/libc/arch/powerpc64/sys/__vfork14.S: revision 1.2
lib/libc/arch/powerpc64/sys/__syscall.S: revision 1.2
lib/libc/arch/powerpc/sys/__syscall.S: revision 1.3
lib/libc/arch/powerpc64/sys/syscall.S: revision 1.2
lib/libc/arch/powerpc/sys/__clone.S: revision 1.6
lib/libc/arch/powerpc64/gen/__setjmp14.S: revision 1.3
sys/arch/powerpc/include/asm.h: revision 1.47
lib/libc/arch/powerpc64/sys/cerror.S: revision 1.6
lib/libc/arch/powerpc64/sys/getcontext.S: revision 1.5
lib/libc/arch/powerpc64/sys/brk.S: revision 1.5
lib/libc/arch/powerpc64/sys/ptrace.S: revision 1.3
lib/libc/arch/powerpc64/genassym.cf: revision 1.1
lib/libc/arch/powerpc64/gen/__sigsetjmp14.S: revision 1.3
lib/libc/arch/powerpc/sys/getcontext.S: revision 1.6
compat/powerpc64/powerpc/bsd.powerpc.mk: revision 1.3
lib/libc/arch/powerpc64/sys/pipe.S: revision 1.2
lib/libc/arch/powerpc/sys/brk.S: revision 1.14
lib/libc/arch/powerpc64/SYS.h: revision 1.3
lib/libc/arch/powerpc64/sys/fork.S: revision 1.2
lib/libc/arch/powerpc64/sys/__sigtramp2.S: revision 1.4
lib/libc/arch/powerpc64/Makefile.inc: revision 1.3
lib/libc/arch/powerpc/sys/pipe.S: revision 1.9
lib/libc/compiler_rt/Makefile.inc: revision 1.25
lib/libc/arch/powerpc64/sys/sbrk.S: revision 1.4, 1.5
lib/libc/arch/powerpc64/sys/__clone.S: revision 1.2
lib/libc/arch/powerpc/sys/sbrk.S: revision 1.13
lib/libc/arch/powerpc/SYS.h: revision 1.13
powerpc64 uses the same sources as powerpc and needs the long double as
double-double sources.
-
Spell LdAddr consistently
-
Add LDFLAGS+=-Wl,-m,elf32ppc_nbsd
-
Fix cmpptr/cmpreq/etc to use right mnemonics
-
Minimize differences between powerpc and powerpc64
-
Fix powerpc64 assembly to use right instructions for 64bit CPUs.
-
Use hidden for __curbrk and __minbrk to avoid GOT/TOC relocations.
 1.6 21-Nov-2021  thorpej Decorate the powerpc signal trampoline with the appropriate .cfi
directives to allow exception unwind / backtrace across a signal
handler.
 1.5 28-Feb-2018  uwe PIC code clobbers %r30 so we need to update the saved oucp with
caller's %r30 manually. Makes old context happy when it needs to do
more function calls after restore.

(oops, forgot to commit this along with swapcontext.S)
 1.4 30-Aug-2013  matt branches: 1.4.4; 1.4.18;
Use a constructor to get the cache_info.
However memset can be called before the constructor is called, just treat
those as simple fills.
Add CACHE_INFO_DCACHE_LINE_SIZE to assym.h and use it
 1.3 18-Jan-2011  matt branches: 1.3.6; 1.3.8; 1.3.12;
Change to deal with callframe changes
 1.2 15-Jan-2011  matt Use END(foo) everywhere.
Make __cerror hidden.
Use non-PLT calls to __cerror.
Use assym.h when appropriate.
Use addi to adjust stack instead of loading it.
Add __RCSIDs
Force -D_NOREGNAMES for all .S files.
[this is all in preperation for secure plt support]
 1.1 14-Jan-2011  matt Generate symbol constants for UC_GREGS_* and CALLFRAME*.
 1.3.12.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.3.8.1 13-Mar-2018  snj Pull up following revision(s) (requested by uwe in ticket #1534):
lib/libc/arch/powerpc/genassym.cf: 1.5 via patch
lib/libc/arch/powerpc/gen/swapcontext.S: 1.8 via patch
PIC code clobbers %r30 so we need to update the saved oucp with
caller's %r30 manually. Makes old context happy when it needs to do
more function calls after restore.
 1.3.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.4.18.1 01-Mar-2018  martin Pull up following revision(s) (requested by uwe in ticket #596):
lib/libc/arch/powerpc/genassym.cf: revision 1.5
lib/libc/arch/powerpc/gen/swapcontext.S: revision 1.8
PIC code clobbers %r30 so we need to update the saved oucp with
caller's %r30 manually. Makes old context happy when it needs to do
more function calls after restore.
PIC code clobbers %r30 so we need to update the saved oucp with
caller's %r30 manually. Makes old context happy when it needs to do
more function calls after restore.
(oops, forgot to commit this along with swapcontext.S)
 1.4.4.1 03-Mar-2018  snj Pull up following revision(s) (requested by uwe in ticket #1576):
lib/libc/arch/powerpc/genassym.cf: 1.8 1.5
lib/libc/arch/powerpc/gen/swapcontext.S: 1.8
PIC code clobbers %r30 so we need to update the saved oucp with
caller's %r30 manually. Makes old context happy when it needs to do
more function calls after restore.
 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.26 28-Jan-2014  macallan split fabs.c into hardfloat .S and softfloat .c as requested by joerg
 1.25 12-Mar-2011  matt branches: 1.25.4; 1.25.10;
Add PPC TLS support. Add -D_LIBC_SOURCE for tls.c and _lwp.c (powerpc)
so that __lwp_gettcb_fast and __lwp_settcb inlines are define.
 1.24 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.23 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.22 18-Feb-2006  matt *setjmp14 are not compat, plain setjmp/sigsetjmp are the compat versions.
Exchange the files.
 1.21 18-Feb-2006  matt Move PowerPC compat files from arch/powerpc to compat/arch/powerpc.
 1.20 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.19 04-Mar-2004  kleink branches: 1.19.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.18 15-Jan-2004  kleink Add C99 fpclassify(), isfinite(), isnormal(), and signbit() macros.
 1.17 23-Nov-2003  scw s/!=/==/

The last fix wasn't quite right, but happened to work for me due
to stale dependencies...

Reported by Markus W Kilbinger.
 1.16 21-Nov-2003  scw Don't compile fp*.c if doing a soft-float build.
 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 18-Jan-2003  thorpej Merge the nathanw_sa branch.
 1.9 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.8 25-May-2001  simonb Handle soft-float case, code from David Querbach of Real-Time Systems Inc.
 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 07-Jul-1999  danw add the ieeefp functions
 1.5 17-Apr-1999  ws Modify syncicache on PowerPC from an inline to a real function.
Support different cache line sizes with the same object code in userland.
While here, move the function to implementation name space.
 1.4 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 26-Nov-1998  sakamoto Add frexp.c and modf.c.
 1.2 03-Oct-1998  tsubai New signal stuff for PowerPC.
 1.1 29-Mar-1997  thorpej Architecture-specific bits for libc on the PowerPC. From Wolfgang
Solfrank <ws@tools.de>
 1.7.6.4 22-Mar-2002  nathanw Catch up to -current.
 1.7.6.3 08-Mar-2002  nathanw Catch up to -current.
 1.7.6.2 08-Nov-2001  briggs Build resumecontext.c _lwp.c getcontext.S makecontext.c swapcontext.S
 1.7.6.1 08-Oct-2001  nathanw Catch up to -current.
 1.19.6.1 19-Apr-2005  tron Pull up revision 1.20 (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.25.10.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.25.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.6 11-Oct-2023  skrll Consistently pass 0 as first and ignored argument to sigprocmask in the
setjmp implementations.

NFCI.
 1.5 15-Jan-2011  matt Use END(foo) everywhere.
Make __cerror hidden.
Use non-PLT calls to __cerror.
Use assym.h when appropriate.
Use addi to adjust stack instead of loading it.
Add __RCSIDs
Force -D_NOREGNAMES for all .S files.
[this is all in preperation for secure plt support]
 1.4 18-Feb-2006  matt *setjmp14 are not compat, plain setjmp/sigsetjmp are the compat versions.
Exchange the files.
 1.3 18-Feb-2006  matt Move PowerPC compat files from arch/powerpc to compat/arch/powerpc.
 1.2 30-Jul-2002  matt Convert to use register prefixes. (0 -> %r0, etc.)
 1.1 03-Oct-1998  tsubai branches: 1.1.12; 1.1.14;
New signal stuff for PowerPC.
 1.1.14.1 23-Jul-2004  tron Pull up revision 1.2 (requested by skrll in ticket #1725):
Convert to use register prefixes. (0 -> %r0, etc.)
 1.1.12.1 01-Aug-2002  nathanw Catch up to -current.
 1.6 11-Oct-2023  skrll Consistently pass 0 as first and ignored argument to sigprocmask in the
setjmp implementations.

NFCI.
 1.5 15-Jan-2011  matt Use END(foo) everywhere.
Make __cerror hidden.
Use non-PLT calls to __cerror.
Use assym.h when appropriate.
Use addi to adjust stack instead of loading it.
Add __RCSIDs
Force -D_NOREGNAMES for all .S files.
[this is all in preperation for secure plt support]
 1.4 18-Feb-2006  matt *setjmp14 are not compat, plain setjmp/sigsetjmp are the compat versions.
Exchange the files.
 1.3 18-Feb-2006  matt Move PowerPC compat files from arch/powerpc to compat/arch/powerpc.
 1.2 30-Jul-2002  matt Convert to use register prefixes. (0 -> %r0, etc.)
 1.1 03-Oct-1998  tsubai branches: 1.1.12; 1.1.14;
New signal stuff for PowerPC.
 1.1.14.1 23-Jul-2004  tron Pull up revision 1.2 (requested by skrll in ticket #1725):
Convert to use register prefixes. (0 -> %r0, etc.)
 1.1.12.1 01-Aug-2002  nathanw Catch up to -current.
 1.9 30-Nov-2024  christos Create a new header lwp_private.h to contain _lwp_getprivate_fast,
_lwp_gettcb_fast, _lwp_settcb and remove them from mcontext.h, so that:
1. we don't need special hacks to hide them
2. we can include <lwp.h> where needed to get the necessary prototypes
without redefining them locally.
 1.8 22-Jun-2020  rin branches: 1.8.8;
Turn on _UC_TLSBASE for sure in the same manner as other ports.
No functional changes since that flag is turned on via getcontext(2).
 1.7 22-Mar-2012  matt Make lint happy.
While here, make sure the top of stack is aligned properly.
 1.6 12-Mar-2011  matt branches: 1.6.4;
Add PPC TLS support. Add -D_LIBC_SOURCE for tls.c and _lwp.c (powerpc)
so that __lwp_gettcb_fast and __lwp_settcb inlines are define.
 1.5 24-Feb-2011  joerg 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 12-Jun-2005  lukem branches: 1.4.40;
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 08-Nov-2001  briggs branches: 1.1.2;
file _lwp.c was initially added on branch nathanw_sa.
 1.1.2.1 08-Nov-2001  briggs _lwp_makecontext()
 1.4.40.1 05-Mar-2011  bouyer Sync with HEAD
 1.6.4.1 17-Apr-2012  yamt sync with head
 1.8.8.1 02-Aug-2025  perseant Sync with HEAD
 1.3 15-Jan-2011  matt Use END(foo) everywhere.
Make __cerror hidden.
Use non-PLT calls to __cerror.
Use assym.h when appropriate.
Use addi to adjust stack instead of loading it.
Add __RCSIDs
Force -D_NOREGNAMES for all .S files.
[this is all in preperation for secure plt support]
 1.2 30-Jul-2002  matt Convert to use register prefixes. (0 -> %r0, etc.)
 1.1 29-Mar-1997  thorpej branches: 1.1.14; 1.1.16;
Architecture-specific bits for libc on the PowerPC. From Wolfgang
Solfrank <ws@tools.de>
 1.1.16.1 23-Jul-2004  tron Pull up revision 1.2 (requested by skrll in ticket #1725):
Convert to use register prefixes. (0 -> %r0, etc.)
 1.1.14.1 01-Aug-2002  nathanw Catch up to -current.
 1.3 25-May-2001  simonb Handle soft-float case, code from David Querbach of Real-Time Systems Inc.
 1.2 25-May-1998  ws branches: 1.2.12;
Remove long obsolete copyright (should have been done before initial import)
 1.1 29-Mar-1997  thorpej Architecture-specific bits for libc on the PowerPC. From Wolfgang
Solfrank <ws@tools.de>
 1.2.12.1 08-Oct-2001  nathanw Catch up to -current.
 1.5 28-Jan-2014  macallan split fabs.c into hardfloat .S and softfloat .c as requested by joerg
 1.4 24-Dec-2005  perry branches: 1.4.44; 1.4.50;
__asm__ -> __asm
 1.3 24-Dec-2005  perry Remove leading __ from __(const|inline|signed|volatile) -- it is obsolete.
 1.2 25-May-2001  tsubai branches: 1.2.2;
Correct input and output of asm.
 1.1 25-May-2001  simonb Handle soft-float case, code from David Querbach of Real-Time Systems Inc.
 1.2.2.2 08-Oct-2001  nathanw Catch up to -current.
 1.2.2.1 25-May-2001  nathanw file fabs.c was added on branch nathanw_sa on 2001-10-08 20:17:54 +0000
 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.2 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.1 28-Jan-2014  macallan branches: 1.1.4; 1.1.8; 1.1.28; 1.1.30;
split fabs.c into hardfloat .S and softfloat .c as requested by joerg
 1.1.30.1 10-Jun-2019  christos Sync with HEAD
 1.1.28.1 26-Nov-2018  pgoyette Sync with HEAD, resolve a couple of conflicts
 1.1.8.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.8.1 28-Jan-2014  tls file fabs_ieee754.S was added on branch tls-maxphys on 2014-08-20 00:02:11 +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 28-Jan-2014  yamt file fabs_ieee754.S was added on branch yamt-pagecache on 2014-05-22 11:36:48 +0000
 1.2 28-Jan-2014  macallan no need to duplicate the generic fabs_ieee754.c here
 1.1 28-Jan-2014  macallan split fabs.c into hardfloat .S and softfloat .c as requested by joerg
 1.12 19-Mar-2015  joerg Call libc's fpgetround.
 1.11 10-Jul-2011  matt branches: 1.11.20;
Don't use "f" with non-fp types. Use a union to go between
double and uint64_t. Makes clang happy.
 1.10 24-Dec-2005  perry __asm__ -> __asm
 1.9 24-Dec-2005  perry Remove leading __ from __(const|inline|signed|volatile) -- it is obsolete.
 1.8 12-Jun-2005  lukem Add missing __RCSID()
 1.7 04-Apr-2004  matt Suppress a lint warning.
 1.6 22-Feb-2002  kleink Do without stfiwx; per PEM32 Rev. 1 it's an optional part of the UISA,
and not implemented on the 601.
 1.5 25-May-2001  simonb Handle soft-float case, from the arm flt_rounds.c.
 1.4 07-Jul-1999  danw branches: 1.4.10;
mark an asm statement volatile so it doesn't get optimized out
 1.3 09-Aug-1998  tsubai s/asm/__asm/
 1.2 03-Feb-1998  mycroft Need float.h for prototypes.
 1.1 29-Mar-1997  thorpej Architecture-specific bits for libc on the PowerPC. From Wolfgang
Solfrank <ws@tools.de>
 1.4.10.3 22-Mar-2002  nathanw Catch up to -current.
 1.4.10.2 08-Mar-2002  nathanw Catch up to -current.
 1.4.10.1 08-Oct-2001  nathanw Catch up to -current.
 1.11.20.1 21-Mar-2015  snj Pull up following revision(s) (requested by joerg in ticket #632):
lib/libc/arch/arm/gen/flt_rounds.c: revision 1.5
lib/libc/arch/mips/gen/flt_rounds.c: revision 1.9
lib/libc/arch/powerpc/gen/flt_rounds.c: revision 1.12
lib/libc/arch/powerpc64/gen/flt_rounds.c: revision 1.2
lib/libc/arch/sh3/gen/flt_rounds.c: revision 1.6
Call libc's fpgetround.
 1.10 10-Jul-2011  matt Don't use "f" with non-fp types. Use a union to go between
double and uint64_t. Makes clang happy.
 1.9 28-Apr-2008  martin branches: 1.9.8;
Remove clause 3 and 4 from TNF licenses
 1.8 24-Dec-2005  perry branches: 1.8.18;
__asm__ -> __asm
 1.7 24-Dec-2005  perry Remove leading __ from __(const|inline|signed|volatile) -- it is obsolete.
 1.6 12-Jun-2005  lukem Add missing __RCSID()
 1.5 04-Apr-2004  matt Supress a few lint warnings. s/u_int64_t/uint64_t/
 1.4 02-Apr-2004  matt Rather than use magic values, include <powerpc/fpu.h> and use those
definitions to generate the magic bits.
 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 08-Feb-2001  wiz branches: 1.2.2;
Add some casts to make lint shut up. Reviewed by christos.
 1.1 07-Jul-1999  danw add the ieeefp functions
 1.2.2.1 28-Jan-2002  nathanw Catch up to -current.
 1.8.18.1 18-May-2008  yamt sync with head.
 1.9.8.2 28-Apr-2008  martin Remove clause 3 and 4 from TNF licenses
 1.9.8.1 28-Apr-2008  martin file fpgetmask.c was added on branch christos-time_t on 2008-04-28 20:22:57 +0000
 1.10 10-Jul-2011  matt Don't use "f" with non-fp types. Use a union to go between
double and uint64_t. Makes clang happy.
 1.9 28-Apr-2008  martin branches: 1.9.8;
Remove clause 3 and 4 from TNF licenses
 1.8 24-Dec-2005  perry branches: 1.8.18;
__asm__ -> __asm
 1.7 24-Dec-2005  perry Remove leading __ from __(const|inline|signed|volatile) -- it is obsolete.
 1.6 12-Jun-2005  lukem Add missing __RCSID()
 1.5 04-Apr-2004  matt Supress a few lint warnings. s/u_int64_t/uint64_t/
 1.4 02-Apr-2004  matt Rather than use magic values, include <powerpc/fpu.h> and use those
definitions to generate the magic bits.
 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 08-Feb-2001  wiz branches: 1.2.2;
Add some casts to make lint shut up. Reviewed by christos.
 1.1 07-Jul-1999  danw add the ieeefp functions
 1.2.2.1 28-Jan-2002  nathanw Catch up to -current.
 1.8.18.1 18-May-2008  yamt sync with head.
 1.9.8.2 28-Apr-2008  martin Remove clause 3 and 4 from TNF licenses
 1.9.8.1 28-Apr-2008  martin file fpgetround.c was added on branch christos-time_t on 2008-04-28 20:22:57 +0000
 1.10 10-Jul-2011  matt Don't use "f" with non-fp types. Use a union to go between
double and uint64_t. Makes clang happy.
 1.9 28-Apr-2008  martin branches: 1.9.8;
Remove clause 3 and 4 from TNF licenses
 1.8 24-Dec-2005  perry branches: 1.8.18;
__asm__ -> __asm
 1.7 24-Dec-2005  perry Remove leading __ from __(const|inline|signed|volatile) -- it is obsolete.
 1.6 12-Jun-2005  lukem Add missing __RCSID()
 1.5 04-Apr-2004  matt Supress a few lint warnings. s/u_int64_t/uint64_t/
 1.4 02-Apr-2004  matt Rather than use magic values, include <powerpc/fpu.h> and use those
definitions to generate the magic bits.
 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 08-Feb-2001  wiz branches: 1.2.2;
Add some casts to make lint shut up. Reviewed by christos.
 1.1 07-Jul-1999  danw add the ieeefp functions
 1.2.2.1 28-Jan-2002  nathanw Catch up to -current.
 1.8.18.1 18-May-2008  yamt sync with head.
 1.9.8.2 28-Apr-2008  martin Remove clause 3 and 4 from TNF licenses
 1.9.8.1 28-Apr-2008  martin file fpgetsticky.c was added on branch christos-time_t on 2008-04-28 20:22:57 +0000
 1.11 27-Feb-2017  chs have fpsetmask() change the FE0/FE1 MSR bits to precise mode if any
FP exceptions are enabled. fix the kernel emulation of mfmsr and mtmsr
to use the correct opcodes for these instructions. ignore PSL_FE
(the FP enable bit) in the MSR that a user program tries to set,
since it will naturally be set for FP-using processes but
we can't let the user process manage that bit.
 1.10 10-Jul-2011  matt branches: 1.10.24; 1.10.28;
Don't use "f" with non-fp types. Use a union to go between
double and uint64_t. Makes clang happy.
 1.9 28-Apr-2008  martin branches: 1.9.8;
Remove clause 3 and 4 from TNF licenses
 1.8 24-Dec-2005  perry branches: 1.8.18;
__asm__ -> __asm
 1.7 24-Dec-2005  perry Remove leading __ from __(const|inline|signed|volatile) -- it is obsolete.
 1.6 12-Jun-2005  lukem Add missing __RCSID()
 1.5 04-Apr-2004  matt Lint cleanup. s/u_int64_t/uint64_t
 1.4 02-Apr-2004  matt Rather than use magic values, include <powerpc/fpu.h> and use those
definitions to generate the magic bits.
 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 08-Feb-2001  wiz branches: 1.2.2;
Add some casts to make lint shut up. Reviewed by christos.
 1.1 07-Jul-1999  danw add the ieeefp functions
 1.2.2.1 28-Jan-2002  nathanw Catch up to -current.
 1.8.18.1 18-May-2008  yamt sync with head.
 1.9.8.2 28-Apr-2008  martin Remove clause 3 and 4 from TNF licenses
 1.9.8.1 28-Apr-2008  martin file fpsetmask.c was added on branch christos-time_t on 2008-04-28 20:22:57 +0000
 1.10.28.1 21-Apr-2017  bouyer Sync with HEAD
 1.10.24.1 20-Mar-2017  pgoyette Sync with HEAD
 1.10 10-Jul-2011  matt Don't use "f" with non-fp types. Use a union to go between
double and uint64_t. Makes clang happy.
 1.9 28-Apr-2008  martin branches: 1.9.8;
Remove clause 3 and 4 from TNF licenses
 1.8 24-Dec-2005  perry branches: 1.8.18;
__asm__ -> __asm
 1.7 24-Dec-2005  perry Remove leading __ from __(const|inline|signed|volatile) -- it is obsolete.
 1.6 12-Jun-2005  lukem Add missing __RCSID()
 1.5 04-Apr-2004  matt Lint cleanup. s/u_int64_t/uint64_t
 1.4 02-Apr-2004  matt Rather than use magic values, include <powerpc/fpu.h> and use those
definitions to generate the magic bits.
 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 08-Feb-2001  wiz branches: 1.2.2;
Add some casts to make lint shut up. Reviewed by christos.
 1.1 07-Jul-1999  danw add the ieeefp functions
 1.2.2.1 28-Jan-2002  nathanw Catch up to -current.
 1.8.18.1 18-May-2008  yamt sync with head.
 1.9.8.2 28-Apr-2008  martin Remove clause 3 and 4 from TNF licenses
 1.9.8.1 28-Apr-2008  martin file fpsetround.c was added on branch christos-time_t on 2008-04-28 20:22:58 +0000
 1.11 10-Jul-2011  matt Don't use "f" with non-fp types. Use a union to go between
double and uint64_t. Makes clang happy.
 1.10 28-Apr-2008  martin branches: 1.10.8;
Remove clause 3 and 4 from TNF licenses
 1.9 24-Dec-2005  perry branches: 1.9.18;
__asm__ -> __asm
 1.8 24-Dec-2005  perry Remove leading __ from __(const|inline|signed|volatile) -- it is obsolete.
 1.7 12-Jun-2005  lukem Add missing __RCSID()
 1.6 04-Apr-2004  matt Update FPSCR_FX consistently per the Programming Environment Manual. So
if any sticky bit is set, FPSCR_FX should be set. If no sticky bits are
set, then FPSCR_FX should be clear.
 1.5 04-Apr-2004  matt Deal with the way FP_X_INV works. That maps to FPSCR_VX. However FPSCR_VX
is not a sticky, it's actually an inclusive OR of 9 stick bits. So when
FP_X_INV is cleared, we need to clear all of those bits. When FP_X_INV is
set, we set all of them.
 1.4 02-Apr-2004  matt Rather than use magic values, include <powerpc/fpu.h> and use those
definitions to generate the magic bits.
 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 08-Feb-2001  wiz branches: 1.2.2;
Add some casts to make lint shut up. Reviewed by christos.
 1.1 07-Jul-1999  danw add the ieeefp functions
 1.2.2.1 28-Jan-2002  nathanw Catch up to -current.
 1.9.18.1 18-May-2008  yamt sync with head.
 1.10.8.2 28-Apr-2008  martin Remove clause 3 and 4 from TNF licenses
 1.10.8.1 28-Apr-2008  martin file fpsetsticky.c was added on branch christos-time_t on 2008-04-28 20:22:58 +0000
 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 Use ieee.h structs and macros.
 1.1 26-Nov-1998  sakamoto Add frexp.c and modf.c.
 1.4.10.1 08-Mar-2002  nathanw Catch up to -current.
 1.1 08-Nov-2001  briggs branches: 1.1.2;
file getcontext.S was initially added on branch nathanw_sa.
 1.1.2.2 09-Nov-2001  briggs As pointed out by Klaus Klein <kleink@netbsd.org> in private email,
getcontext.S should live in sys as it is a userland wrapper around
the actual syscall.
 1.1.2.1 08-Nov-2001  briggs get/make/swap/resumecontext() from Klaus Klein <kleink@netbsd.org>
 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 13-Sep-2000  msaitoh branches: 1.5.2;
check LIBC_SCCS
 1.4 14-Nov-1998  christos delint
 1.3 26-Jul-1998  mycroft const poisoning.
 1.2 13-Jul-1997  christos Fix RCSID's
 1.1 29-Mar-1997  thorpej Architecture-specific bits for libc on the PowerPC. From Wolfgang
Solfrank <ws@tools.de>
 1.5.2.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 22-Jan-2000  mycroft branches: 1.6.6;
Delint.
 1.5 29-Aug-1999  mycroft Separate isnan() into a separate module, and make isinf()/isnan() use ieee.h.
 1.4 14-Nov-1998  christos delint
 1.3 13-Oct-1998  kleink Need internal names for isinf() and isnan().
 1.2 13-Jul-1997  christos Add missing math.h include
Fix RCSID's
 1.1 29-Mar-1997  thorpej Architecture-specific bits for libc on the PowerPC. From Wolfgang
Solfrank <ws@tools.de>
 1.6.6.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 13-Oct-1998  kleink Need internal names for isinf() and isnan().
 1.2 13-Jul-1997  christos Fix RCSID's
Add missing math.h include
 1.1 29-Mar-1997  thorpej Architecture-specific bits for libc on the PowerPC. From Wolfgang
Solfrank <ws@tools.de>
 1.5.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 07-Nov-2001  mjl fix for -Wshadow
 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 10-Mar-1999  mycroft Just some minor cleanup.
 1.2 13-Jul-1997  christos Fix RCSID's
Add missing math.h include
 1.1 29-Mar-1997  thorpej Architecture-specific bits for libc on the PowerPC. From Wolfgang
Solfrank <ws@tools.de>
 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.4 28-Apr-2008  martin branches: 1.4.8;
Remove clause 3 and 4 from TNF licenses
 1.3 09-Oct-2003  kleink branches: 1.3.30;
Update to use symbolic register names.
 1.2 18-Jan-2003  thorpej Merge the nathanw_sa branch.
 1.1 08-Nov-2001  briggs branches: 1.1.2;
file makecontext.c was initially added on branch nathanw_sa.
 1.1.2.2 17-Nov-2001  briggs Update comments.
 1.1.2.1 08-Nov-2001  briggs get/make/swap/resumecontext() from Klaus Klein <kleink@netbsd.org>
 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:58 +0000
 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 09-Feb-2001  wiz branches: 1.4.2;
De-lint. Reviewed by christos.
 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 13-Mar-2000  soren branches: 1.2.2;
Fix doubled 'the's.
 1.1 26-Nov-1998  sakamoto Add frexp.c and modf.c.
 1.2.2.1 23-Jun-2000  minoura Sync w/ netbsd-1-5-base.
 1.4.2.1 08-Mar-2002  nathanw Catch up to -current.
 1.4 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.3 15-Apr-2005  kleink branches: 1.3.2; 1.3.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.2 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.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.1 08-Mar-2002  nathanw Catch up to -current.
 1.3.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.3.2.2 19-Apr-2005  tron Pull up revision 1.3 (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.3.2.1 15-Apr-2005  tron file nanf.c was added on branch netbsd-3 on 2005-04-19 12:30:50 +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-Dec-2006  martin branches: 1.3.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.2 18-Jan-2003  thorpej branches: 1.2.16;
Merge the nathanw_sa branch.
 1.1 08-Nov-2001  briggs branches: 1.1.2;
file resumecontext.c was initially added on branch nathanw_sa.
 1.1.2.1 08-Nov-2001  briggs get/make/swap/resumecontext() from Klaus Klein <kleink@netbsd.org>
 1.2.16.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.3.10.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:58 +0000
 1.5 18-Feb-2006  matt *setjmp14 are not compat, plain setjmp/sigsetjmp are the compat versions.
Exchange the files.
 1.4 30-Jul-2002  matt Convert to use register prefixes. (0 -> %r0, etc.)
 1.3 03-Oct-1998  tsubai branches: 1.3.12; 1.3.14;
New signal stuff for PowerPC.
 1.2 25-May-1998  ws Remove long obsolete copyright (should have been done before initial import)
 1.1 29-Mar-1997  thorpej Architecture-specific bits for libc on the PowerPC. From Wolfgang
Solfrank <ws@tools.de>
 1.3.14.1 23-Jul-2004  tron Pull up revision 1.4 (requested by skrll in ticket #1725):
Convert to use register prefixes. (0 -> %r0, etc.)
 1.3.12.1 01-Aug-2002  nathanw Catch up to -current.
 1.7 18-Feb-2006  matt *setjmp14 are not compat, plain setjmp/sigsetjmp are the compat versions.
Exchange the files.
 1.6 09-Aug-2002  briggs Add a missing register prefix, noted by Makoto Fujiwara on the port-macppc
mailing list.
 1.5 30-Jul-2002  matt Convert to use register prefixes. (0 -> %r0, etc.)
 1.4 03-Oct-1998  tsubai branches: 1.4.12; 1.4.14;
New signal stuff for PowerPC.
 1.3 02-Jul-1998  tsubai Add #include <sys/syscall.h> for "SYS_sigprocmask".
 1.2 25-May-1998  ws Remove long obsolete copyright (should have been done before initial import)
 1.1 29-Mar-1997  thorpej Architecture-specific bits for libc on the PowerPC. From Wolfgang
Solfrank <ws@tools.de>
 1.4.14.1 23-Jul-2004  tron Pull up revision 1.5 (requested by skrll in ticket #1725):
Convert to use register prefixes. (0 -> %r0, etc.)
 1.4.12.2 13-Aug-2002  nathanw Catch up to -current.
 1.4.12.1 01-Aug-2002  nathanw Catch up to -current.
 1.8 28-Feb-2018  uwe PIC code clobbers %r30 so we need to update the saved oucp with
caller's %r30 manually. Makes old context happy when it needs to do
more function calls after restore.
 1.7 12-Sep-2013  joerg branches: 1.7.4; 1.7.18;
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.6 16-Jan-2011  matt branches: 1.6.6; 1.6.8; 1.6.12;
Switch to the PIC_GOTSETUP/PIC_TOCSETUP macros for PIC code. Now libc
will be built to use secureplt by default.
 1.5 15-Jan-2011  matt Use END(foo) everywhere.
Make __cerror hidden.
Use non-PLT calls to __cerror.
Use assym.h when appropriate.
Use addi to adjust stack instead of loading it.
Add __RCSIDs
Force -D_NOREGNAMES for all .S files.
[this is all in preperation for secure plt support]
 1.4 28-Apr-2008  martin branches: 1.4.8;
Remove clause 3 and 4 from TNF licenses
 1.3 03-Oct-2003  kleink branches: 1.3.30;
Convert to use register prefixes.
 1.2 18-Jan-2003  thorpej Merge the nathanw_sa branch.
 1.1 08-Nov-2001  briggs branches: 1.1.2;
file swapcontext.S was initially added on branch nathanw_sa.
 1.1.2.1 08-Nov-2001  briggs get/make/swap/resumecontext() from Klaus Klein <kleink@netbsd.org>
 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 swapcontext.S was added on branch christos-time_t on 2008-04-28 20:22:58 +0000
 1.6.12.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.6.8.1 13-Mar-2018  snj Pull up following revision(s) (requested by uwe in ticket #1534):
lib/libc/arch/powerpc/genassym.cf: 1.5 via patch
lib/libc/arch/powerpc/gen/swapcontext.S: 1.8 via patch
PIC code clobbers %r30 so we need to update the saved oucp with
caller's %r30 manually. Makes old context happy when it needs to do
more function calls after restore.
 1.6.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.7.18.1 01-Mar-2018  martin Pull up following revision(s) (requested by uwe in ticket #596):
lib/libc/arch/powerpc/genassym.cf: revision 1.5
lib/libc/arch/powerpc/gen/swapcontext.S: revision 1.8
PIC code clobbers %r30 so we need to update the saved oucp with
caller's %r30 manually. Makes old context happy when it needs to do
more function calls after restore.
PIC code clobbers %r30 so we need to update the saved oucp with
caller's %r30 manually. Makes old context happy when it needs to do
more function calls after restore.
(oops, forgot to commit this along with swapcontext.S)
 1.7.4.1 03-Mar-2018  snj Pull up following revision(s) (requested by uwe in ticket #1576):
lib/libc/arch/powerpc/genassym.cf: 1.8 1.5
lib/libc/arch/powerpc/gen/swapcontext.S: 1.8
PIC code clobbers %r30 so we need to update the saved oucp with
caller's %r30 manually. Makes old context happy when it needs to do
more function calls after restore.
 1.15 18-Mar-2008  he When compiling for _STANDALONE, omit a bunch of headers which aren't really
needed and which trigger build problems.

(These two files should probably be unified and put under common/...)
 1.14 24-Dec-2005  perry branches: 1.14.10; 1.14.16;
__asm__ -> __asm
 1.13 24-Dec-2005  perry Remove leading __ from __(const|inline|signed|volatile) -- it is obsolete.
 1.12 11-Aug-2003  matt export size_t __getcachelinesize(void) for memset()
 1.11 26-Nov-2002  thorpej Need <stdlib.h> for abort() prototype.
 1.10 28-Mar-2002  matt Add sync before isync since the MPC74xx require it.
 1.9 26-Mar-2002  matt Use size_t in prototype (so this will be LP64 clean for PPC64 someday).
Calculate len separately for icache & dcache in case each has different
cacheline widths. Make the code for both loops the same except for the
dcbst/icbi. Deal with sizes >=2GB properly (like that'll happen but ...)
 1.8 18-Mar-2002  dbj make compile with _STANDALONE
 1.7 13-Mar-2002  eeh Remove leftover debug code. Oops.
 1.6 12-Mar-2002  eeh Use new CPU_CACHEINFO sysctl to get more detailed information about
cache layout.
 1.5 27-Aug-2001  matt Ansi'fy. (to make this compile under -Wstrict-prototypes)
 1.4 26-Jan-2001  wiz branches: 1.4.2;
delint (variable is only used for size, so make if size_t instead of int).
 1.3 29-Jun-2000  mrg sync with libkern version; <vm/vm.h> -> <uvm/uvm_extern.h>
 1.2 05-May-1999  tsubai * Add getcachelinesize() prototype.
* Make this compile with -D_STANDALONE.
 1.1 17-Apr-1999  ws Modify syncicache on PowerPC from an inline to a real function.
Support different cache line sizes with the same object code in userland.
While here, move the function to implementation name space.
 1.4.2.4 10-Dec-2002  thorpej Sync with HEAD.
 1.4.2.3 25-Apr-2002  nathanw Catch up to -current.
 1.4.2.2 22-Mar-2002  nathanw Catch up to -current.
 1.4.2.1 08-Oct-2001  nathanw Catch up to -current.
 1.14.16.1 24-Mar-2008  keiichi sync with head.
 1.14.10.1 23-Mar-2008  matt sync with HEAD
 1.1 30-Aug-2013  matt branches: 1.1.4; 1.1.8;
Use a constructor to get the cache_info.
However memset can be called before the constructor is called, just treat
those as simple fills.
Add CACHE_INFO_DCACHE_LINE_SIZE to assym.h and use it
 1.1.8.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.8.1 30-Aug-2013  tls file powerpc_initfini.c was added on branch tls-maxphys on 2014-08-20 00:02:11 +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 30-Aug-2013  yamt file powerpc_initfini.c was added on branch yamt-pagecache on 2014-05-22 11:36:48 +0000
 1.2 12-May-2003  kleink Build {h,n}to{n,h}{l,s}() into object code; addresses PR port-macppc/21541
from Tsuyoshi MOMOSE.
 1.1 29-Mar-1997  thorpej branches: 1.1.16;
Architecture-specific bits for libc on the PowerPC. From Wolfgang
Solfrank <ws@tools.de>
 1.1.16.1 19-Jun-2003  grant Pull up revision 1.2 (requested by kleink in ticket #1288):

Build {h,n}to{n,h}{l,s}() into object code; addresses PR port-macppc/21541
from Tsuyoshi MOMOSE.
 1.1 25-May-2001  simonb Softfloat support files for PowerPC.
 1.2 24-Dec-2005  perry Remove leading __ from __(const|inline|signed|volatile) -- it is obsolete.
 1.1 25-May-2001  simonb Softfloat support files for PowerPC.
 1.2 21-Apr-2002  bjh21 All the versions of softfloat-specialize were practically identical, so replace
them with a single one.
 1.1 25-May-2001  simonb Softfloat support files for PowerPC.
 1.7 07-Jul-2011  matt Don't define a new enum. Just #define round_* to their FP_Rx instead.
 1.6 04-Jul-2011  matt Add __floatunsidf __floatunsisf __floatunsitf routines.
XXX i think they are correct but not sure.
 1.5 16-May-2006  mrg if SOFTFLOAT_FOR_GCC is not defined, don't declare float_detect_tininess.
 1.4 29-May-2002  eeh Fix conflict in definitions.
 1.3 12-May-2002  bjh21 Add SIGFPE support to SoftFloat, so fpsetmask/fpgetmask now work. A new
variable, float_exception_mask (#defined to _softfloat_float_exception_mask)
contains the current exception mask.
Also make the argument to float_raise into an fp_except.
Also synchronise file header comments between files.
 1.2 06-May-2002  bjh21 Consistently declare the types of float_rounding_mode and float_exception_flags
as fp_rnd and fp_except respectively.
 1.1 25-May-2001  simonb Softfloat support files for PowerPC.
 1.5 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.4 04-Aug-2008  matt branches: 1.4.6;
Add C99 functions imaxabs and imaxdiv.
 1.3 22-Mar-2006  drochner branches: 1.3.20;
build erand48_ieee754.c on everything but vax
 1.2 06-Mar-2000  kleink Add ISO C99 long long integer general utility interfaces; partially addresses
PR standards/9482.
 1.1 05-Nov-1997  cgd branches: 1.1.2;
A foolish consistency... gen, net, and string all get MD sources
specified by including a Makefile.inc from the appropriate MD directory.
stdlib doesn't do that, but there's no reason that it shouldn't (and
it'd be nice to eliminate the 'if's from the MI stdlib Makefile.inc).
 1.1.2.2 08-Nov-1997  veego pull up changes from the trunk (approved by perry) from cgd:
>A foolish consistency... gen, net, and string all get MD sources
>specified by including a Makefile.inc from the appropriate MD directory.
>stdlib doesn't do that, but there's no reason that it shouldn't (and
>it'd be nice to eliminate the 'if's from the MI stdlib Makefile.inc).
 1.1.2.1 05-Nov-1997  veego file Makefile.inc was added on branch netbsd-1-3 on 1997-11-08 21:56:41 +0000
 1.3.20.1 18-Sep-2008  wrstuden Sync with wrstuden-revivesa-base-2.
 1.4.6.2 04-Aug-2008  matt Add C99 functions imaxabs and imaxdiv.
 1.4.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.16 30-May-2022  rin Obsolete hack for evbppc to replace memcmp(9), memcpy(9), and memmove(9)
with strictly-aligned versions.

Now all 32-bit powerpc ports share the same libc binary.

This change together with the preceding similar change in libkern slightly
improve performance for DHT (ibm4xx/405GP) and RB800 (MPC8533E).

See changes in bytebench scores:

- DHT https://gist.github.com/rokuyama/301063355de9733bea515b84ef574c0a
- RB800 https://gist.github.com/rokuyama/60ad665d367d6d110b79ec44707f39ff

Improvements may be negligible, but this does not cause performance
regressions at least.

This hack was for 403, but unaligned memory access is now emulated by
kernel. This should result in serious performance regression for 403.
We will provide strictly-aligned versions by ld.so.conf.
 1.15 26-Jul-2021  rin Improve previous:

- Add suffix ``d'' for mkdep(1).
- Improve comment a little...
 1.14 24-Jul-2021  rin For evbppc, use C version of bcopy(3), memcpy(3), memcmp(3), and
memmove(3) consistently for debug library (*.go) in order to avoid
alignment faults for 403.
 1.13 14-Mar-2010  mrg update all of these makefiles for the .so -> .pico change.

most of them are most harmless, but the libgcc parts are quite essential.
before this change, all the special rules for .pico files were not applied,
and exception handling wasn't enabled. this caused c++ exceptions not to
work on sparc64.


this fixes the build of boost-headers (it was correctly calling exception
support broken!), which in turn makes all the things that depend upon it
to actually work again on sparc64.
 1.12 11-Aug-2009  dsl Change NO_SRCS lines to specify .S in order to exclude the .c file from
SRCS but add it to LSRCS (sort of makes sense!).
 1.11 03-Aug-2009  dsl bzero.S also defines memset(), so exclude memset.c
 1.10 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.9 18-Jul-2009  dsl Remove references to index.c and rindex.c (strchr.c and strrchr.c
now provide the definitions).
 1.8 18-Apr-2008  garbled branches: 1.8.10;
Fix a stupid typo in a comment. Pointed out by Juergen Hannken-Illjes.
 1.7 18-Apr-2008  garbled Back out the ppc assembler changes for memcpy/memmove/memcmp on evbppc.
It breaks the explora because the cpu (403) cannot deal with unaligned
accesses. Reported by Juergen Hannken-Illjes.
 1.6 21-Feb-2008  garbled Make use of ppc tuned assembler.
 1.5 17-Jun-2006  uwe branches: 1.5.10; 1.5.16;
G/c KMSRCS and KMINCLUDES now that we have common/lib/libc
 1.4 20-Feb-2002  eeh Add bzero.S and strlen.S to the stuff that gets installed in libkern.
 1.3 30-Nov-2001  mjl Add assembler version of strlen.
 1.2 25-Nov-2001  mjl Add PPC assembler routines for ffs(3), bzero(3) and memset(3).
 1.1 29-Mar-1997  thorpej branches: 1.1.14;
Architecture-specific bits for libc on the PowerPC. From Wolfgang
Solfrank <ws@tools.de>
 1.1.14.3 22-Mar-2002  nathanw Catch up to -current.
 1.1.14.2 08-Mar-2002  nathanw Catch up to -current.
 1.1.14.1 28-Jan-2002  nathanw Catch up to -current.
 1.5.16.1 24-Mar-2008  keiichi sync with head.
 1.5.10.1 23-Mar-2008  matt sync with HEAD
 1.8.10.2 18-Apr-2008  garbled Fix a stupid typo in a comment. Pointed out by Juergen Hannken-Illjes.
 1.8.10.1 18-Apr-2008  garbled file Makefile.inc was added on branch christos-time_t on 2008-04-18 08:05:06 +0000
 1.15 19-Dec-2016  christos PR/50228: Christian Groessler: fix bzero(ptr, 0) on ppc. Check for 0 length
before jumping to cb_memset like memset does.
 1.14 12-Sep-2013  joerg branches: 1.14.8;
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.13 30-Aug-2013  matt Use a constructor to get the cache_info.
However memset can be called before the constructor is called, just treat
those as simple fills.
Add CACHE_INFO_DCACHE_LINE_SIZE to assym.h and use it
 1.12 18-Jul-2013  matt Use pcrel access and avoid GOT entries. Restructure a little to be more
efficient.
 1.11 29-Jan-2011  matt branches: 1.11.4; 1.11.10; 1.11.14;
Don't use r0 to restore LR, use r7 instead.
 1.10 19-Jan-2011  matt branches: 1.10.2;
Fix some bugs introduced when switching to new GOT/PLT format.
 1.9 16-Jan-2011  matt Switch to the PIC_GOTSETUP/PIC_TOCSETUP macros for PIC code. Now libc
will be built to use secureplt by default.
 1.8 15-Jan-2011  matt Use END(foo) everywhere.
Make __cerror hidden.
Use non-PLT calls to __cerror.
Use assym.h when appropriate.
Use addi to adjust stack instead of loading it.
Add __RCSIDs
Force -D_NOREGNAMES for all .S files.
[this is all in preperation for secure plt support]
 1.7 26-Jul-2003  salo netbsd.org->NetBSD.org
 1.6 15-Mar-2003  hannken Make it work on cpus with cachelinesize < 32.

Tested on macppc by Markus W Kilbinger.
 1.5 30-Jul-2002  matt Convert to use register prefixes. (0 -> %r0, etc.)
 1.4 12-Mar-2002  eeh branches: 1.4.2;
Use new CPU_CACHEINFO sysctl to get more detailed information about
cache layout.
 1.3 30-Nov-2001  mjl branches: 1.3.2;
Outifdef some stuff not needed in the _KERNEL case.
 1.2 29-Nov-2001  mjl Make this work in kernel space too.
 1.1 25-Nov-2001  mjl Add PPC assembler routines for ffs(3), bzero(3) and memset(3).
 1.3.2.4 01-Aug-2002  nathanw Catch up to -current.
 1.3.2.3 22-Mar-2002  nathanw Catch up to -current.
 1.3.2.2 28-Jan-2002  nathanw Catch up to -current.
 1.3.2.1 30-Nov-2001  nathanw file bzero.S was added on branch nathanw_sa on 2002-01-28 20:50:09 +0000
 1.4.2.1 23-Jul-2004  tron Pull up revision 1.5 (requested by skrll in ticket #1725):
Convert to use register prefixes. (0 -> %r0, etc.)
 1.10.2.1 08-Feb-2011  bouyer Sync with HEAD
 1.11.14.1 23-Jul-2013  riastradh sync with HEAD
 1.11.10.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.11.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.14.8.1 07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.4 20-Dec-2005  christos Use reach-over sources from common/lib/libc
 1.3 26-Jul-2003  salo netbsd.org->NetBSD.org
 1.2 30-Jul-2002  matt Convert to use register prefixes. (0 -> %r0, etc.)
 1.1 25-Nov-2001  mjl branches: 1.1.2; 1.1.4;
Add PPC assembler routines for ffs(3), bzero(3) and memset(3).
 1.1.4.1 23-Jul-2004  tron Pull up revision 1.2 (requested by skrll in ticket #1725):
Convert to use register prefixes. (0 -> %r0, etc.)
 1.1.2.3 01-Aug-2002  nathanw Catch up to -current.
 1.1.2.2 28-Jan-2002  nathanw Catch up to -current.
 1.1.2.1 25-Nov-2001  nathanw file ffs.S was added on branch nathanw_sa on 2002-01-28 20:50:10 +0000
 1.4 20-Dec-2005  christos Use reach-over sources from common/lib/libc
 1.3 26-Jul-2003  salo netbsd.org->NetBSD.org
 1.2 30-Jul-2002  matt Convert to use register prefixes. (0 -> %r0, etc.)
 1.1 30-Nov-2001  mjl branches: 1.1.2; 1.1.4;
Add assembler version of strlen.
 1.1.4.1 23-Jul-2004  tron Pull up revision 1.2 (requested by skrll in ticket #1725):
Convert to use register prefixes. (0 -> %r0, etc.)
 1.1.2.3 01-Aug-2002  nathanw Catch up to -current.
 1.1.2.2 28-Jan-2002  nathanw Catch up to -current.
 1.1.2.1 30-Nov-2001  nathanw file strlen.S was added on branch nathanw_sa on 2002-01-28 20:50:10 +0000
 1.5 18-Feb-2006  matt Move PowerPC compat files from arch/powerpc to compat/arch/powerpc.
 1.4 30-Jul-2002  matt Convert to use register prefixes. (0 -> %r0, etc.)
 1.3 02-Dec-1998  thorpej branches: 1.3.12; 1.3.14;
Warn about references to the compatibility vfork() (i.e. the vfork() with
the 4.4BSD non-shared-address-space semantics), and direct the user to
include <unistd.h> to generate the correct reference.

This warning isn't about an ABI compatibility issue, but the new vfork() is
considerably faster.
 1.2 25-May-1998  ws Remove long obsolete copyright (should have been done before initial import)
 1.1 29-Mar-1997  thorpej Architecture-specific bits for libc on the PowerPC. From Wolfgang
Solfrank <ws@tools.de>
 1.3.14.1 23-Jul-2004  tron Pull up revision 1.4 (requested by skrll in ticket #1725):
Convert to use register prefixes. (0 -> %r0, etc.)
 1.3.12.1 01-Aug-2002  nathanw Catch up to -current.
 1.6 23-Aug-2014  matt Minimize differences between powerpc and powerpc64
Fix powerpc64 assembly to use right instructions for 64bit CPUs.
Use hidden for __curbrk and __minbrk to avoid GOT/TOC relocations.
 1.5 12-Sep-2013  joerg branches: 1.5.4;
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 16-Jan-2011  matt branches: 1.4.6; 1.4.12;
Switch to the PIC_GOTSETUP/PIC_TOCSETUP macros for PIC code. Now libc
will be built to use secureplt by default.
 1.3 15-Jan-2011  matt Use END(foo) everywhere.
Make __cerror hidden.
Use non-PLT calls to __cerror.
Use assym.h when appropriate.
Use addi to adjust stack instead of loading it.
Add __RCSIDs
Force -D_NOREGNAMES for all .S files.
[this is all in preperation for secure plt support]
 1.2 30-Jul-2002  matt Convert to use register prefixes. (0 -> %r0, etc.)
 1.1 20-Jul-2001  tsubai branches: 1.1.2; 1.1.4;
Add a __clone(3) entry point for powerpc.
 1.1.4.1 23-Jul-2004  tron Pull up revision 1.2 (requested by skrll in ticket #1725):
Convert to use register prefixes. (0 -> %r0, etc.)
 1.1.2.3 01-Aug-2002  nathanw Catch up to -current.
 1.1.2.2 08-Oct-2001  nathanw Catch up to -current.
 1.1.2.1 20-Jul-2001  nathanw file __clone.S was added on branch nathanw_sa on 2001-10-08 20:17:57 +0000
 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.5.4.1 04-Feb-2015  martin Pull up following revision(s) (requested by chs in ticket #492):
lib/libc/arch/powerpc64/sys/__vfork14.S: revision 1.2
lib/libc/arch/powerpc64/sys/__syscall.S: revision 1.2
lib/libc/arch/powerpc/sys/__syscall.S: revision 1.3
lib/libc/arch/powerpc64/sys/syscall.S: revision 1.2
lib/libc/arch/powerpc/sys/__clone.S: revision 1.6
lib/libc/arch/powerpc64/gen/__setjmp14.S: revision 1.3
sys/arch/powerpc/include/asm.h: revision 1.47
lib/libc/arch/powerpc64/sys/cerror.S: revision 1.6
lib/libc/arch/powerpc64/sys/getcontext.S: revision 1.5
lib/libc/arch/powerpc64/sys/brk.S: revision 1.5
lib/libc/arch/powerpc64/sys/ptrace.S: revision 1.3
lib/libc/arch/powerpc64/genassym.cf: revision 1.1
lib/libc/arch/powerpc64/gen/__sigsetjmp14.S: revision 1.3
lib/libc/arch/powerpc/sys/getcontext.S: revision 1.6
compat/powerpc64/powerpc/bsd.powerpc.mk: revision 1.3
lib/libc/arch/powerpc64/sys/pipe.S: revision 1.2
lib/libc/arch/powerpc/sys/brk.S: revision 1.14
lib/libc/arch/powerpc64/SYS.h: revision 1.3
lib/libc/arch/powerpc64/sys/fork.S: revision 1.2
lib/libc/arch/powerpc64/sys/__sigtramp2.S: revision 1.4
lib/libc/arch/powerpc64/Makefile.inc: revision 1.3
lib/libc/arch/powerpc/sys/pipe.S: revision 1.9
lib/libc/compiler_rt/Makefile.inc: revision 1.25
lib/libc/arch/powerpc64/sys/sbrk.S: revision 1.4, 1.5
lib/libc/arch/powerpc64/sys/__clone.S: revision 1.2
lib/libc/arch/powerpc/sys/sbrk.S: revision 1.13
lib/libc/arch/powerpc/SYS.h: revision 1.13
powerpc64 uses the same sources as powerpc and needs the long double as
double-double sources.
-
Spell LdAddr consistently
-
Add LDFLAGS+=-Wl,-m,elf32ppc_nbsd
-
Fix cmpptr/cmpreq/etc to use right mnemonics
-
Minimize differences between powerpc and powerpc64
-
Fix powerpc64 assembly to use right instructions for 64bit CPUs.
-
Use hidden for __curbrk and __minbrk to avoid GOT/TOC relocations.
 1.2 18-Feb-2006  matt Move PowerPC compat files from arch/powerpc to compat/arch/powerpc.
 1.1 25-Aug-1999  thorpej Add __msgctl13(), __semctl13(), and __shmctl13() (symbols are __RENAME()'d
in their respective header files). Add PSEUDO stubs for the old versions
of these system calls.

Note that __semctl13() doesn't require the extra stub that the old
semctl()/__semctl() did, as the SUSv2 version takes variable arguments,
and thus does not require the extra indirection.
 1.10 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.9 28-Apr-2008  martin branches: 1.9.8;
Remove clause 3 and 4 from TNF licenses
 1.8 18-May-2006  christos branches: 1.8.18;
change __weak_extern to __weak_reference so that gcc4 works.
 1.7 19-Feb-2006  christos make these consistent.
 1.6 12-Jun-2005  lukem Add missing __RCSID()
 1.5 23-Mar-2004  drochner save errno while trying to install a !SA_SIGINFO trampoline -- this
is expected to fail with !COMPAT_16 kernels, and we shouldn't
overwrite errno in this case
 1.4 27-Sep-2003  matt Remove __LIBC12_SOURCE
 1.3 27-Sep-2003  matt Invoke the proper signal trampoline depending on SA_SIGINFO.
 1.2 18-Jan-2003  thorpej Merge the nathanw_sa branch.
 1.1 09-Jul-2002  thorpej branches: 1.1.2;
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.1.2.3 02-Oct-2002  thorpej libc:
Internally rename __sigaction14 to __libc_sigaction14. Provide a
weak alias of __sigaction14 -> __libc_sigaction14.

libpthread:
Use __libc_sigaction14 to actually register the signal handler, rather
than using __sigaction_sigtramp() directly with a hard-coded trampoline
version. While we don't actually use the libc trampoline, we want to
avoid depending on any COMPAT_* kernel options down the road (this is
already the case for the VAX port).

Be explicit about which version of the signal interface we're interposing
(...14), and build pthread_sig.c with __LIBC12_SOURCE__ (required to get
the libc-internal interfaces).
 1.1.2.2 01-Aug-2002  nathanw Catch up to -current.
 1.1.2.1 09-Jul-2002  nathanw file __sigaction14_sigtramp.c was added on branch nathanw_sa on 2002-08-01 03:28:02 +0000
 1.8.18.1 18-May-2008  yamt sync with head.
 1.9.8.2 28-Apr-2008  martin Remove clause 3 and 4 from TNF licenses
 1.9.8.1 28-Apr-2008  martin file __sigaction14_sigtramp.c was added on branch christos-time_t on 2008-04-28 20:22:58 +0000
 1.3 18-Feb-2006  matt Move PowerPC compat files from arch/powerpc to compat/arch/powerpc.
 1.2 26-Mar-2004  drochner fix references to the syscall formerly known as SYS___sigreturn14
 1.1 03-Oct-1998  tsubai New signal stuff for PowerPC.
 1.4 18-Feb-2006  matt Move PowerPC compat files from arch/powerpc to compat/arch/powerpc.
 1.3 26-Mar-2004  drochner fix references to the syscall formerly known as SYS___sigreturn14
 1.2 30-Jul-2002  matt branches: 1.2.2;
Convert to use register prefixes. (0 -> %r0, etc.)
 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.2.2.2 01-Aug-2002  nathanw Catch up to -current.
 1.2.2.1 30-Jul-2002  nathanw file __sigtramp1.S was added on branch nathanw_sa on 2002-08-01 03:28:02 +0000
 1.5 27-Nov-2021  skrll Trailing whitespace
 1.4 21-Nov-2021  thorpej Decorate the powerpc signal trampoline with the appropriate .cfi
directives to allow exception unwind / backtrace across a signal
handler.
 1.3 15-Jan-2011  matt Use END(foo) everywhere.
Make __cerror hidden.
Use non-PLT calls to __cerror.
Use assym.h when appropriate.
Use addi to adjust stack instead of loading it.
Add __RCSIDs
Force -D_NOREGNAMES for all .S files.
[this is all in preperation for secure plt support]
 1.2 28-Apr-2008  martin branches: 1.2.8;
Remove clause 3 and 4 from TNF licenses
 1.1 25-Sep-2003  matt branches: 1.1.30;
Add siginfo signal trampoline.
 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 __sigtramp2.S was added on branch christos-time_t on 2008-04-28 20:22:58 +0000
 1.4 18-Apr-2020  thorpej Rename "syscall" to "_syscall" and provide "syscall" as a weak alias.
 1.3 23-Aug-2014  matt branches: 1.3.16;
Minimize differences between powerpc and powerpc64
Fix powerpc64 assembly to use right instructions for 64bit CPUs.
Use hidden for __curbrk and __minbrk to avoid GOT/TOC relocations.
 1.2 01-Feb-2014  matt branches: 1.2.4;
Since powerpc passes 8 arguments in registers and the syscall number in r0,
shuffle register argument so the kernel won't need to access the stack to
retrieve that last argument.
 1.1 13-Dec-2000  matt branches: 1.1.60; 1.1.66;
This should convert to syscall but that's too hard. So punt. XXX
 1.1.66.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.60.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.4.1 04-Feb-2015  martin Pull up following revision(s) (requested by chs in ticket #492):
lib/libc/arch/powerpc64/sys/__vfork14.S: revision 1.2
lib/libc/arch/powerpc64/sys/__syscall.S: revision 1.2
lib/libc/arch/powerpc/sys/__syscall.S: revision 1.3
lib/libc/arch/powerpc64/sys/syscall.S: revision 1.2
lib/libc/arch/powerpc/sys/__clone.S: revision 1.6
lib/libc/arch/powerpc64/gen/__setjmp14.S: revision 1.3
sys/arch/powerpc/include/asm.h: revision 1.47
lib/libc/arch/powerpc64/sys/cerror.S: revision 1.6
lib/libc/arch/powerpc64/sys/getcontext.S: revision 1.5
lib/libc/arch/powerpc64/sys/brk.S: revision 1.5
lib/libc/arch/powerpc64/sys/ptrace.S: revision 1.3
lib/libc/arch/powerpc64/genassym.cf: revision 1.1
lib/libc/arch/powerpc64/gen/__sigsetjmp14.S: revision 1.3
lib/libc/arch/powerpc/sys/getcontext.S: revision 1.6
compat/powerpc64/powerpc/bsd.powerpc.mk: revision 1.3
lib/libc/arch/powerpc64/sys/pipe.S: revision 1.2
lib/libc/arch/powerpc/sys/brk.S: revision 1.14
lib/libc/arch/powerpc64/SYS.h: revision 1.3
lib/libc/arch/powerpc64/sys/fork.S: revision 1.2
lib/libc/arch/powerpc64/sys/__sigtramp2.S: revision 1.4
lib/libc/arch/powerpc64/Makefile.inc: revision 1.3
lib/libc/arch/powerpc/sys/pipe.S: revision 1.9
lib/libc/compiler_rt/Makefile.inc: revision 1.25
lib/libc/arch/powerpc64/sys/sbrk.S: revision 1.4, 1.5
lib/libc/arch/powerpc64/sys/__clone.S: revision 1.2
lib/libc/arch/powerpc/sys/sbrk.S: revision 1.13
lib/libc/arch/powerpc/SYS.h: revision 1.13
powerpc64 uses the same sources as powerpc and needs the long double as
double-double sources.
-
Spell LdAddr consistently
-
Add LDFLAGS+=-Wl,-m,elf32ppc_nbsd
-
Fix cmpptr/cmpreq/etc to use right mnemonics
-
Minimize differences between powerpc and powerpc64
-
Fix powerpc64 assembly to use right instructions for 64bit CPUs.
-
Use hidden for __curbrk and __minbrk to avoid GOT/TOC relocations.
 1.3.16.1 21-Apr-2020  martin Sync with HEAD
 1.4 15-Jan-2011  matt Use END(foo) everywhere.
Make __cerror hidden.
Use non-PLT calls to __cerror.
Use assym.h when appropriate.
Use addi to adjust stack instead of loading it.
Add __RCSIDs
Force -D_NOREGNAMES for all .S files.
[this is all in preperation for secure plt support]
 1.3 30-Jul-2002  matt Convert to use register prefixes. (0 -> %r0, etc.)
 1.2 25-May-1998  ws branches: 1.2.12; 1.2.14;
Remove long obsolete copyright (should have been done before initial import)
 1.1 04-Jan-1998  thorpej Add syscall stubs for __vfork14(). These are basically copies of Ovfork.S
with the syscall numbers changed.

Since 4.4BSD vfork(2) did not share address space, Ovfork.S could be changed
to be identical to fork.S (modulo syscall numbers). __vfork14.S, however,
needs to remain separate since with a shared address space, the stub needs to
pre-decrement the stack and do an indirect jump to the return address, so that
the shared stackframe is still there when the parent returns. (Obviously,
this does not apply to systems which to not build stackframes on leaf calls.)
 1.2.14.1 23-Jul-2004  tron Pull up revision 1.3 (requested by skrll in ticket #1725):
Convert to use register prefixes. (0 -> %r0, etc.)
 1.2.12.1 01-Aug-2002  nathanw Catch up to -current.
 1.14 23-Aug-2014  matt Minimize differences between powerpc and powerpc64
Fix powerpc64 assembly to use right instructions for 64bit CPUs.
Use hidden for __curbrk and __minbrk to avoid GOT/TOC relocations.
 1.13 12-Sep-2013  joerg branches: 1.13.4;
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.12 16-Jan-2011  matt branches: 1.12.6; 1.12.12;
Switch to the PIC_GOTSETUP/PIC_TOCSETUP macros for PIC code. Now libc
will be built to use secureplt by default.
 1.11 15-Jan-2011  matt Use END(foo) everywhere.
Make __cerror hidden.
Use non-PLT calls to __cerror.
Use assym.h when appropriate.
Use addi to adjust stack instead of loading it.
Add __RCSIDs
Force -D_NOREGNAMES for all .S files.
[this is all in preperation for secure plt support]
 1.10 30-Jul-2002  matt Convert to use register prefixes. (0 -> %r0, etc.)
 1.9 26-Jun-2000  kleink branches: 1.9.2; 1.9.4;
Thinko in previous: we do always use an internal name.
 1.8 23-Jun-2000  kleink Add internal names for brk() and sbrk().
 1.7 24-Feb-2000  kleink branches: 1.7.4;
Missed in end -> _end cleanup.
 1.6 31-Mar-1999  kleink Change references to `end' to `_end' as not to invade (or being invaded by)
the user's name space.
 1.5 14-Jan-1999  kleink * On architectures using ELF, and conditionally on those in transition, rename
_ASM_LABEL(cerror) and _ASM_LABEL(curbrk) to _C_LABEL(__cerror) and
_C_LABEL(__curbrk) (or their respective architecture-specific equivalents) to
avoid possible name clashes with identifiers used in user applications.
* Do the same for minbrk on all architectures to avoid a GCC-specific (and
on ELF architectures effectively useless) symbol reference renaming in MI code.
 1.4 24-Nov-1998  tsubai Add PIC version.
 1.3 25-May-1998  ws Use asm.h defines for symbols
 1.2 25-May-1998  ws Remove long obsolete copyright (should have been done before initial import)
 1.1 29-Mar-1997  thorpej Architecture-specific bits for libc on the PowerPC. From Wolfgang
Solfrank <ws@tools.de>
 1.7.4.1 22-Aug-2000  kleink Pull up revs. 1.8-1.9 (approved by thorpej):
Add internal names for brk(), sbrk() and fork().
 1.9.4.1 23-Jul-2004  tron Pull up revision 1.10 (requested by skrll in ticket #1725):
Convert to use register prefixes. (0 -> %r0, etc.)
 1.9.2.1 01-Aug-2002  nathanw Catch up to -current.
 1.12.12.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.12.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.13.4.1 04-Feb-2015  martin Pull up following revision(s) (requested by chs in ticket #492):
lib/libc/arch/powerpc64/sys/__vfork14.S: revision 1.2
lib/libc/arch/powerpc64/sys/__syscall.S: revision 1.2
lib/libc/arch/powerpc/sys/__syscall.S: revision 1.3
lib/libc/arch/powerpc64/sys/syscall.S: revision 1.2
lib/libc/arch/powerpc/sys/__clone.S: revision 1.6
lib/libc/arch/powerpc64/gen/__setjmp14.S: revision 1.3
sys/arch/powerpc/include/asm.h: revision 1.47
lib/libc/arch/powerpc64/sys/cerror.S: revision 1.6
lib/libc/arch/powerpc64/sys/getcontext.S: revision 1.5
lib/libc/arch/powerpc64/sys/brk.S: revision 1.5
lib/libc/arch/powerpc64/sys/ptrace.S: revision 1.3
lib/libc/arch/powerpc64/genassym.cf: revision 1.1
lib/libc/arch/powerpc64/gen/__sigsetjmp14.S: revision 1.3
lib/libc/arch/powerpc/sys/getcontext.S: revision 1.6
compat/powerpc64/powerpc/bsd.powerpc.mk: revision 1.3
lib/libc/arch/powerpc64/sys/pipe.S: revision 1.2
lib/libc/arch/powerpc/sys/brk.S: revision 1.14
lib/libc/arch/powerpc64/SYS.h: revision 1.3
lib/libc/arch/powerpc64/sys/fork.S: revision 1.2
lib/libc/arch/powerpc64/sys/__sigtramp2.S: revision 1.4
lib/libc/arch/powerpc64/Makefile.inc: revision 1.3
lib/libc/arch/powerpc/sys/pipe.S: revision 1.9
lib/libc/compiler_rt/Makefile.inc: revision 1.25
lib/libc/arch/powerpc64/sys/sbrk.S: revision 1.4, 1.5
lib/libc/arch/powerpc64/sys/__clone.S: revision 1.2
lib/libc/arch/powerpc/sys/sbrk.S: revision 1.13
lib/libc/arch/powerpc/SYS.h: revision 1.13
powerpc64 uses the same sources as powerpc and needs the long double as
double-double sources.
-
Spell LdAddr consistently
-
Add LDFLAGS+=-Wl,-m,elf32ppc_nbsd
-
Fix cmpptr/cmpreq/etc to use right mnemonics
-
Minimize differences between powerpc and powerpc64
-
Fix powerpc64 assembly to use right instructions for 64bit CPUs.
-
Use hidden for __curbrk and __minbrk to avoid GOT/TOC relocations.
 1.11 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.10 27-Feb-2012  matt branches: 1.10.2;
PowerPC doesn't have CERROR since it never had a.out.
Use _C_LABEL(__cerror) instead.
 1.9 27-Feb-2012  joerg Make __cerror protected to restore ABI leak in older libc versions,
where e.g. librt referenced the copy from libc. This still allows libc
to use PC-relative jumps.
 1.8 16-Jan-2011  matt branches: 1.8.6; 1.8.8;
Switch to the PIC_GOTSETUP/PIC_TOCSETUP macros for PIC code. Now libc
will be built to use secureplt by default.
 1.7 15-Jan-2011  matt Use END(foo) everywhere.
Make __cerror hidden.
Use non-PLT calls to __cerror.
Use assym.h when appropriate.
Use addi to adjust stack instead of loading it.
Add __RCSIDs
Force -D_NOREGNAMES for all .S files.
[this is all in preperation for secure plt support]
 1.6 30-Jul-2002  matt Convert to use register prefixes. (0 -> %r0, etc.)
 1.5 27-Jan-2000  kleink branches: 1.5.6; 1.5.8;
Support *__errno() indirection.
 1.4 14-Jan-1999  kleink branches: 1.4.2;
* On architectures using ELF, and conditionally on those in transition, rename
_ASM_LABEL(cerror) and _ASM_LABEL(curbrk) to _C_LABEL(__cerror) and
_C_LABEL(__curbrk) (or their respective architecture-specific equivalents) to
avoid possible name clashes with identifiers used in user applications.
* Do the same for minbrk on all architectures to avoid a GCC-specific (and
on ELF architectures effectively useless) symbol reference renaming in MI code.
 1.3 24-Nov-1998  tsubai Add PIC version.
 1.2 25-May-1998  ws Remove long obsolete copyright (should have been done before initial import)
 1.1 29-Mar-1997  thorpej Architecture-specific bits for libc on the PowerPC. From Wolfgang
Solfrank <ws@tools.de>
 1.4.2.1 02-Feb-2000  he Pull up revision 1.5 (requested by kleink):
Implement *__errno() indirection.
 1.5.8.1 23-Jul-2004  tron Pull up revision 1.6 (requested by skrll in ticket #1725):
Convert to use register prefixes. (0 -> %r0, etc.)
 1.5.6.1 01-Aug-2002  nathanw Catch up to -current.
 1.8.8.1 27-Feb-2012  riz Pull up following revision(s) (requested by joerg in ticket #57):
lib/libc/arch/arm/sys/cerror.S: revision 1.8
lib/libc/arch/vax/SYS.h: revision 1.12
lib/libc/arch/powerpc64/sys/cerror.S: revision 1.3
lib/libc/arch/powerpc64/sys/cerror.S: revision 1.4
lib/libc/arch/i386/sys/cerror.S: revision 1.16
lib/libc/arch/x86_64/sys/cerror.S: revision 1.5
lib/libc/arch/powerpc/sys/cerror.S: revision 1.10
lib/libc/arch/mips/sys/cerror.S: revision 1.17
lib/libc/arch/powerpc/sys/cerror.S: revision 1.9
Make __cerror protected to restore ABI leak in older libc versions,
where e.g. librt referenced the copy from libc. This still allows libc
to use PC-relative jumps.
PowerPC doesn't have CERROR since it never had a.out.
Use _C_LABEL(__cerror) instead.
 1.8.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.8.6.1 17-Apr-2012  yamt sync with head
 1.10.2.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.4 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.3 25-May-1998  ws branches: 1.3.94; 1.3.98;
Remove long obsolete copyright (should have been done before initial import)
 1.2 03-Feb-1998  thorpej Fix exect(3).
 1.1 29-Mar-1997  thorpej Architecture-specific bits for libc on the PowerPC. From Wolfgang
Solfrank <ws@tools.de>
 1.3.98.1 21-Apr-2017  bouyer Sync with HEAD
 1.3.94.1 20-Mar-2017  pgoyette Sync with HEAD
 1.6 15-Jan-2011  matt Use END(foo) everywhere.
Make __cerror hidden.
Use non-PLT calls to __cerror.
Use assym.h when appropriate.
Use addi to adjust stack instead of loading it.
Add __RCSIDs
Force -D_NOREGNAMES for all .S files.
[this is all in preperation for secure plt support]
 1.5 13-Feb-2003  nathanw Implement pthread_atfork() (in libc, because the required threadlib
stub behavior is exactly the same as the usual behavior).
 1.4 30-Jul-2002  matt Convert to use register prefixes. (0 -> %r0, etc.)
 1.3 26-Jun-2000  kleink branches: 1.3.2; 1.3.4;
Need an internal name for fork().
 1.2 25-May-1998  ws branches: 1.2.10;
Remove long obsolete copyright (should have been done before initial import)
 1.1 29-Mar-1997  thorpej Architecture-specific bits for libc on the PowerPC. From Wolfgang
Solfrank <ws@tools.de>
 1.2.10.1 22-Aug-2000  kleink Pull up rev. 1.3 (approved by thorpej):
Add internal names for brk(), sbrk() and fork().
 1.3.4.1 23-Jul-2004  tron Pull up revision 1.4 (requested by skrll in ticket #1725):
Convert to use register prefixes. (0 -> %r0, etc.)
 1.3.2.1 01-Aug-2002  nathanw Catch up to -current.
 1.6 23-Aug-2014  matt Minimize differences between powerpc and powerpc64
Fix powerpc64 assembly to use right instructions for 64bit CPUs.
Use hidden for __curbrk and __minbrk to avoid GOT/TOC relocations.
 1.5 15-Jan-2011  matt branches: 1.5.24;
Use END(foo) everywhere.
Make __cerror hidden.
Use non-PLT calls to __cerror.
Use assym.h when appropriate.
Use addi to adjust stack instead of loading it.
Add __RCSIDs
Force -D_NOREGNAMES for all .S files.
[this is all in preperation for secure plt support]
 1.4 28-Apr-2008  martin branches: 1.4.8;
Remove clause 3 and 4 from TNF licenses
 1.3 03-Oct-2003  kleink branches: 1.3.30;
Convert to use register prefixes.
 1.2 18-Jan-2003  thorpej Merge the nathanw_sa branch.
 1.1 09-Nov-2001  briggs branches: 1.1.2;
file getcontext.S was initially added on branch nathanw_sa.
 1.1.2.1 09-Nov-2001  briggs As pointed out by Klaus Klein <kleink@netbsd.org> in private email,
getcontext.S should live in sys as it is a userland wrapper around
the actual syscall.
 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 getcontext.S was added on branch christos-time_t on 2008-04-28 20:22:58 +0000
 1.5.24.1 04-Feb-2015  martin Pull up following revision(s) (requested by chs in ticket #492):
lib/libc/arch/powerpc64/sys/__vfork14.S: revision 1.2
lib/libc/arch/powerpc64/sys/__syscall.S: revision 1.2
lib/libc/arch/powerpc/sys/__syscall.S: revision 1.3
lib/libc/arch/powerpc64/sys/syscall.S: revision 1.2
lib/libc/arch/powerpc/sys/__clone.S: revision 1.6
lib/libc/arch/powerpc64/gen/__setjmp14.S: revision 1.3
sys/arch/powerpc/include/asm.h: revision 1.47
lib/libc/arch/powerpc64/sys/cerror.S: revision 1.6
lib/libc/arch/powerpc64/sys/getcontext.S: revision 1.5
lib/libc/arch/powerpc64/sys/brk.S: revision 1.5
lib/libc/arch/powerpc64/sys/ptrace.S: revision 1.3
lib/libc/arch/powerpc64/genassym.cf: revision 1.1
lib/libc/arch/powerpc64/gen/__sigsetjmp14.S: revision 1.3
lib/libc/arch/powerpc/sys/getcontext.S: revision 1.6
compat/powerpc64/powerpc/bsd.powerpc.mk: revision 1.3
lib/libc/arch/powerpc64/sys/pipe.S: revision 1.2
lib/libc/arch/powerpc/sys/brk.S: revision 1.14
lib/libc/arch/powerpc64/SYS.h: revision 1.3
lib/libc/arch/powerpc64/sys/fork.S: revision 1.2
lib/libc/arch/powerpc64/sys/__sigtramp2.S: revision 1.4
lib/libc/arch/powerpc64/Makefile.inc: revision 1.3
lib/libc/arch/powerpc/sys/pipe.S: revision 1.9
lib/libc/compiler_rt/Makefile.inc: revision 1.25
lib/libc/arch/powerpc64/sys/sbrk.S: revision 1.4, 1.5
lib/libc/arch/powerpc64/sys/__clone.S: revision 1.2
lib/libc/arch/powerpc/sys/sbrk.S: revision 1.13
lib/libc/arch/powerpc/SYS.h: revision 1.13
powerpc64 uses the same sources as powerpc and needs the long double as
double-double sources.
-
Spell LdAddr consistently
-
Add LDFLAGS+=-Wl,-m,elf32ppc_nbsd
-
Fix cmpptr/cmpreq/etc to use right mnemonics
-
Minimize differences between powerpc and powerpc64
-
Fix powerpc64 assembly to use right instructions for 64bit CPUs.
-
Use hidden for __curbrk and __minbrk to avoid GOT/TOC relocations.
 1.2 18-Feb-2006  matt Move PowerPC compat files from arch/powerpc to compat/arch/powerpc.
 1.1 25-Aug-1999  thorpej Add __msgctl13(), __semctl13(), and __shmctl13() (symbols are __RENAME()'d
in their respective header files). Add PSEUDO stubs for the old versions
of these system calls.

Note that __semctl13() doesn't require the extra stub that the old
semctl()/__semctl() did, as the SUSv2 version takes variable arguments,
and thus does not require the extra indirection.
 1.9 23-Aug-2014  matt Minimize differences between powerpc and powerpc64
Fix powerpc64 assembly to use right instructions for 64bit CPUs.
Use hidden for __curbrk and __minbrk to avoid GOT/TOC relocations.
 1.8 15-Jan-2011  matt branches: 1.8.24;
Use END(foo) everywhere.
Make __cerror hidden.
Use non-PLT calls to __cerror.
Use assym.h when appropriate.
Use addi to adjust stack instead of loading it.
Add __RCSIDs
Force -D_NOREGNAMES for all .S files.
[this is all in preperation for secure plt support]
 1.7 30-Jul-2002  matt Convert to use register prefixes. (0 -> %r0, etc.)
 1.6 28-Sep-2000  kleink branches: 1.6.2; 1.6.4;
Need an internal name for pipe(2).
 1.5 14-Jan-1999  kleink branches: 1.5.10;
* On architectures using ELF, and conditionally on those in transition, rename
_ASM_LABEL(cerror) and _ASM_LABEL(curbrk) to _C_LABEL(__cerror) and
_C_LABEL(__curbrk) (or their respective architecture-specific equivalents) to
avoid possible name clashes with identifiers used in user applications.
* Do the same for minbrk on all architectures to avoid a GCC-specific (and
on ELF architectures effectively useless) symbol reference renaming in MI code.
 1.4 24-Nov-1998  tsubai Add PIC version.
 1.3 25-May-1998  ws Use asm.h defines for symbols
 1.2 25-May-1998  ws Remove long obsolete copyright (should have been done before initial import)
 1.1 29-Mar-1997  thorpej Architecture-specific bits for libc on the PowerPC. From Wolfgang
Solfrank <ws@tools.de>
 1.5.10.1 29-Sep-2000  kleink Pull up rev. 1.6 (approved by thorpej):
Add internal name for pipe().
 1.6.4.1 23-Jul-2004  tron Pull up revision 1.7 (requested by skrll in ticket #1725):
Convert to use register prefixes. (0 -> %r0, etc.)
 1.6.2.1 01-Aug-2002  nathanw Catch up to -current.
 1.8.24.1 04-Feb-2015  martin Pull up following revision(s) (requested by chs in ticket #492):
lib/libc/arch/powerpc64/sys/__vfork14.S: revision 1.2
lib/libc/arch/powerpc64/sys/__syscall.S: revision 1.2
lib/libc/arch/powerpc/sys/__syscall.S: revision 1.3
lib/libc/arch/powerpc64/sys/syscall.S: revision 1.2
lib/libc/arch/powerpc/sys/__clone.S: revision 1.6
lib/libc/arch/powerpc64/gen/__setjmp14.S: revision 1.3
sys/arch/powerpc/include/asm.h: revision 1.47
lib/libc/arch/powerpc64/sys/cerror.S: revision 1.6
lib/libc/arch/powerpc64/sys/getcontext.S: revision 1.5
lib/libc/arch/powerpc64/sys/brk.S: revision 1.5
lib/libc/arch/powerpc64/sys/ptrace.S: revision 1.3
lib/libc/arch/powerpc64/genassym.cf: revision 1.1
lib/libc/arch/powerpc64/gen/__sigsetjmp14.S: revision 1.3
lib/libc/arch/powerpc/sys/getcontext.S: revision 1.6
compat/powerpc64/powerpc/bsd.powerpc.mk: revision 1.3
lib/libc/arch/powerpc64/sys/pipe.S: revision 1.2
lib/libc/arch/powerpc/sys/brk.S: revision 1.14
lib/libc/arch/powerpc64/SYS.h: revision 1.3
lib/libc/arch/powerpc64/sys/fork.S: revision 1.2
lib/libc/arch/powerpc64/sys/__sigtramp2.S: revision 1.4
lib/libc/arch/powerpc64/Makefile.inc: revision 1.3
lib/libc/arch/powerpc/sys/pipe.S: revision 1.9
lib/libc/compiler_rt/Makefile.inc: revision 1.25
lib/libc/arch/powerpc64/sys/sbrk.S: revision 1.4, 1.5
lib/libc/arch/powerpc64/sys/__clone.S: revision 1.2
lib/libc/arch/powerpc/sys/sbrk.S: revision 1.13
lib/libc/arch/powerpc/SYS.h: revision 1.13
powerpc64 uses the same sources as powerpc and needs the long double as
double-double sources.
-
Spell LdAddr consistently
-
Add LDFLAGS+=-Wl,-m,elf32ppc_nbsd
-
Fix cmpptr/cmpreq/etc to use right mnemonics
-
Minimize differences between powerpc and powerpc64
-
Fix powerpc64 assembly to use right instructions for 64bit CPUs.
-
Use hidden for __curbrk and __minbrk to avoid GOT/TOC relocations.
 1.7 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.6 16-Jan-2011  matt branches: 1.6.6; 1.6.12;
Switch to the PIC_GOTSETUP/PIC_TOCSETUP macros for PIC code. Now libc
will be built to use secureplt by default.
 1.5 15-Jan-2011  matt Use END(foo) everywhere.
Make __cerror hidden.
Use non-PLT calls to __cerror.
Use assym.h when appropriate.
Use addi to adjust stack instead of loading it.
Add __RCSIDs
Force -D_NOREGNAMES for all .S files.
[this is all in preperation for secure plt support]
 1.4 30-Jul-2002  matt Convert to use register prefixes. (0 -> %r0, etc.)
 1.3 23-Feb-2000  kleink branches: 1.3.6; 1.3.8;
For consistency with all other ports, clear errno in the prologue to the
syscall here as well - while the manual page advises applications to clear
errno themselves their actual behaviour may be questionable, especially in
light of the other ports' implementations.
 1.2 25-May-1998  ws Remove long obsolete copyright (should have been done before initial import)
 1.1 29-Mar-1997  thorpej Architecture-specific bits for libc on the PowerPC. From Wolfgang
Solfrank <ws@tools.de>
 1.3.8.1 23-Jul-2004  tron Pull up revision 1.4 (requested by skrll in ticket #1725):
Convert to use register prefixes. (0 -> %r0, etc.)
 1.3.6.1 01-Aug-2002  nathanw Catch up to -current.
 1.6.12.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.6.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.13 23-Aug-2014  matt Minimize differences between powerpc and powerpc64
Fix powerpc64 assembly to use right instructions for 64bit CPUs.
Use hidden for __curbrk and __minbrk to avoid GOT/TOC relocations.
 1.12 12-Sep-2013  joerg branches: 1.12.4;
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.11 16-Jan-2011  matt branches: 1.11.6; 1.11.12;
Switch to the PIC_GOTSETUP/PIC_TOCSETUP macros for PIC code. Now libc
will be built to use secureplt by default.
 1.10 15-Jan-2011  matt Use END(foo) everywhere.
Make __cerror hidden.
Use non-PLT calls to __cerror.
Use assym.h when appropriate.
Use addi to adjust stack instead of loading it.
Add __RCSIDs
Force -D_NOREGNAMES for all .S files.
[this is all in preperation for secure plt support]
 1.9 30-Jul-2002  matt Convert to use register prefixes. (0 -> %r0, etc.)
 1.8 26-Jun-2000  kleink branches: 1.8.2; 1.8.4;
Thinko in previous: we do always use an internal name.
 1.7 23-Jun-2000  kleink Add internal names for brk() and sbrk().
 1.6 31-Mar-1999  kleink branches: 1.6.10;
Change references to `end' to `_end' as not to invade (or being invaded by)
the user's name space.
 1.5 14-Jan-1999  kleink * On architectures using ELF, and conditionally on those in transition, rename
_ASM_LABEL(cerror) and _ASM_LABEL(curbrk) to _C_LABEL(__cerror) and
_C_LABEL(__curbrk) (or their respective architecture-specific equivalents) to
avoid possible name clashes with identifiers used in user applications.
* Do the same for minbrk on all architectures to avoid a GCC-specific (and
on ELF architectures effectively useless) symbol reference renaming in MI code.
 1.4 24-Nov-1998  tsubai Add PIC version.
 1.3 25-May-1998  ws Use asm.h defines for symbols
 1.2 25-May-1998  ws Remove long obsolete copyright (should have been done before initial import)
 1.1 29-Mar-1997  thorpej Architecture-specific bits for libc on the PowerPC. From Wolfgang
Solfrank <ws@tools.de>
 1.6.10.1 22-Aug-2000  kleink Pull up revs. 1.7-1.8 (approved by thorpej):
Add internal names for brk(), sbrk() and fork().
 1.8.4.1 23-Jul-2004  tron Pull up revision 1.9 (requested by skrll in ticket #1725):
Convert to use register prefixes. (0 -> %r0, etc.)
 1.8.2.1 01-Aug-2002  nathanw Catch up to -current.
 1.11.12.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.11.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.4.1 04-Feb-2015  martin Pull up following revision(s) (requested by chs in ticket #492):
lib/libc/arch/powerpc64/sys/__vfork14.S: revision 1.2
lib/libc/arch/powerpc64/sys/__syscall.S: revision 1.2
lib/libc/arch/powerpc/sys/__syscall.S: revision 1.3
lib/libc/arch/powerpc64/sys/syscall.S: revision 1.2
lib/libc/arch/powerpc/sys/__clone.S: revision 1.6
lib/libc/arch/powerpc64/gen/__setjmp14.S: revision 1.3
sys/arch/powerpc/include/asm.h: revision 1.47
lib/libc/arch/powerpc64/sys/cerror.S: revision 1.6
lib/libc/arch/powerpc64/sys/getcontext.S: revision 1.5
lib/libc/arch/powerpc64/sys/brk.S: revision 1.5
lib/libc/arch/powerpc64/sys/ptrace.S: revision 1.3
lib/libc/arch/powerpc64/genassym.cf: revision 1.1
lib/libc/arch/powerpc64/gen/__sigsetjmp14.S: revision 1.3
lib/libc/arch/powerpc/sys/getcontext.S: revision 1.6
compat/powerpc64/powerpc/bsd.powerpc.mk: revision 1.3
lib/libc/arch/powerpc64/sys/pipe.S: revision 1.2
lib/libc/arch/powerpc/sys/brk.S: revision 1.14
lib/libc/arch/powerpc64/SYS.h: revision 1.3
lib/libc/arch/powerpc64/sys/fork.S: revision 1.2
lib/libc/arch/powerpc64/sys/__sigtramp2.S: revision 1.4
lib/libc/arch/powerpc64/Makefile.inc: revision 1.3
lib/libc/arch/powerpc/sys/pipe.S: revision 1.9
lib/libc/compiler_rt/Makefile.inc: revision 1.25
lib/libc/arch/powerpc64/sys/sbrk.S: revision 1.4, 1.5
lib/libc/arch/powerpc64/sys/__clone.S: revision 1.2
lib/libc/arch/powerpc/sys/sbrk.S: revision 1.13
lib/libc/arch/powerpc/SYS.h: revision 1.13
powerpc64 uses the same sources as powerpc and needs the long double as
double-double sources.
-
Spell LdAddr consistently
-
Add LDFLAGS+=-Wl,-m,elf32ppc_nbsd
-
Fix cmpptr/cmpreq/etc to use right mnemonics
-
Minimize differences between powerpc and powerpc64
-
Fix powerpc64 assembly to use right instructions for 64bit CPUs.
-
Use hidden for __curbrk and __minbrk to avoid GOT/TOC relocations.
 1.5 18-Jan-2003  thorpej Merge the nathanw_sa branch.
 1.4 30-Jul-2002  matt Convert to use register prefixes. (0 -> %r0, etc.)
 1.3 24-Nov-1998  tsubai branches: 1.3.12; 1.3.14;
Add PIC version.
 1.2 25-May-1998  ws Remove long obsolete copyright (should have been done before initial import)
 1.1 29-Mar-1997  thorpej Architecture-specific bits for libc on the PowerPC. From Wolfgang
Solfrank <ws@tools.de>
 1.3.14.1 23-Jul-2004  tron Pull up revision 1.4 (requested by skrll in ticket #1725):
Convert to use register prefixes. (0 -> %r0, etc.)
 1.3.12.1 25-Feb-2002  nathanw Move setlogin() stub to C code, and namespace-protect it.
 1.1 07-Jul-2000  itohy Add special treatment of shmat(2).
On m68k ELF calling standard (__SVR4_ABI__), if a function
returns a pointer, the return value should go to a0 as well as d0.
 1.2 18-Feb-2006  matt Move PowerPC compat files from arch/powerpc to compat/arch/powerpc.
 1.1 25-Aug-1999  thorpej Add __msgctl13(), __semctl13(), and __shmctl13() (symbols are __RENAME()'d
in their respective header files). Add PSEUDO stubs for the old versions
of these system calls.

Note that __semctl13() doesn't require the extra stub that the old
semctl()/__semctl() did, as the SUSv2 version takes variable arguments,
and thus does not require the extra indirection.
 1.3 18-Feb-2006  matt Move PowerPC compat files from arch/powerpc to compat/arch/powerpc.
 1.2 02-Dec-1998  thorpej Warn about references to the compatibility() sigaction(), sigpending(),
sigprocmask(), sigreturn(), and sigsuspend(), and direct the user to
include <signal.h> to generate the correct reference.
 1.1 03-Oct-1998  tsubai New signal stuff for PowerPC.
 1.9 18-Feb-2006  matt Move PowerPC compat files from arch/powerpc to compat/arch/powerpc.
 1.8 30-Jul-2002  matt Convert to use register prefixes. (0 -> %r0, etc.)
 1.7 14-Jan-1999  kleink branches: 1.7.12; 1.7.14;
* On architectures using ELF, and conditionally on those in transition, rename
_ASM_LABEL(cerror) and _ASM_LABEL(curbrk) to _C_LABEL(__cerror) and
_C_LABEL(__curbrk) (or their respective architecture-specific equivalents) to
avoid possible name clashes with identifiers used in user applications.
* Do the same for minbrk on all architectures to avoid a GCC-specific (and
on ELF architectures effectively useless) symbol reference renaming in MI code.
 1.6 02-Dec-1998  thorpej Warn about references to the compatibility() sigaction(), sigpending(),
sigprocmask(), sigreturn(), and sigsuspend(), and direct the user to
include <signal.h> to generate the correct reference.
 1.5 24-Nov-1998  tsubai Add PIC version.
 1.4 03-Oct-1998  tsubai New signal stuff for PowerPC.
 1.3 25-May-1998  ws Use asm.h defines for symbols
 1.2 25-May-1998  ws Remove long obsolete copyright (should have been done before initial import)
 1.1 29-Mar-1997  thorpej Architecture-specific bits for libc on the PowerPC. From Wolfgang
Solfrank <ws@tools.de>
 1.7.14.1 23-Jul-2004  tron Pull up revision 1.8 (requested by skrll in ticket #1725):
Convert to use register prefixes. (0 -> %r0, etc.)
 1.7.12.1 01-Aug-2002  nathanw Catch up to -current.
 1.9 18-Feb-2006  matt Move PowerPC compat files from arch/powerpc to compat/arch/powerpc.
 1.8 30-Jul-2002  matt Convert to use register prefixes. (0 -> %r0, etc.)
 1.7 14-Jan-1999  kleink branches: 1.7.12; 1.7.14;
* On architectures using ELF, and conditionally on those in transition, rename
_ASM_LABEL(cerror) and _ASM_LABEL(curbrk) to _C_LABEL(__cerror) and
_C_LABEL(__curbrk) (or their respective architecture-specific equivalents) to
avoid possible name clashes with identifiers used in user applications.
* Do the same for minbrk on all architectures to avoid a GCC-specific (and
on ELF architectures effectively useless) symbol reference renaming in MI code.
 1.6 02-Dec-1998  thorpej Warn about references to the compatibility() sigaction(), sigpending(),
sigprocmask(), sigreturn(), and sigsuspend(), and direct the user to
include <signal.h> to generate the correct reference.
 1.5 24-Nov-1998  tsubai Add PIC version.
 1.4 03-Oct-1998  tsubai New signal stuff for PowerPC.
 1.3 25-May-1998  ws Use asm.h defines for symbols
 1.2 25-May-1998  ws Remove long obsolete copyright (should have been done before initial import)
 1.1 29-Mar-1997  thorpej Architecture-specific bits for libc on the PowerPC. From Wolfgang
Solfrank <ws@tools.de>
 1.7.14.1 23-Jul-2004  tron Pull up revision 1.8 (requested by skrll in ticket #1725):
Convert to use register prefixes. (0 -> %r0, etc.)
 1.7.12.1 01-Aug-2002  nathanw Catch up to -current.
 1.6 18-Feb-2006  matt Move PowerPC compat files from arch/powerpc to compat/arch/powerpc.
 1.5 26-Mar-2004  drochner the WARN_REFERENCES text "include <signal.h> for correct reference" is pointless
as <signal.h> won't help you, so remove it
 1.4 02-Dec-1998  thorpej Warn about references to the compatibility() sigaction(), sigpending(),
sigprocmask(), sigreturn(), and sigsuspend(), and direct the user to
include <signal.h> to generate the correct reference.
 1.3 03-Oct-1998  tsubai New signal stuff for PowerPC.
 1.2 25-May-1998  ws Remove long obsolete copyright (should have been done before initial import)
 1.1 29-Mar-1997  thorpej Architecture-specific bits for libc on the PowerPC. From Wolfgang
Solfrank <ws@tools.de>
 1.9 18-Feb-2006  matt Move PowerPC compat files from arch/powerpc to compat/arch/powerpc.
 1.8 30-Jul-2002  matt Convert to use register prefixes. (0 -> %r0, etc.)
 1.7 14-Jan-1999  kleink branches: 1.7.12; 1.7.14;
* On architectures using ELF, and conditionally on those in transition, rename
_ASM_LABEL(cerror) and _ASM_LABEL(curbrk) to _C_LABEL(__cerror) and
_C_LABEL(__curbrk) (or their respective architecture-specific equivalents) to
avoid possible name clashes with identifiers used in user applications.
* Do the same for minbrk on all architectures to avoid a GCC-specific (and
on ELF architectures effectively useless) symbol reference renaming in MI code.
 1.6 02-Dec-1998  thorpej Warn about references to the compatibility() sigaction(), sigpending(),
sigprocmask(), sigreturn(), and sigsuspend(), and direct the user to
include <signal.h> to generate the correct reference.
 1.5 24-Nov-1998  tsubai Add PIC version.
 1.4 03-Oct-1998  tsubai New signal stuff for PowerPC.
 1.3 25-May-1998  ws Use asm.h defines for symbols
 1.2 25-May-1998  ws Remove long obsolete copyright (should have been done before initial import)
 1.1 29-Mar-1997  thorpej Architecture-specific bits for libc on the PowerPC. From Wolfgang
Solfrank <ws@tools.de>
 1.7.14.1 23-Jul-2004  tron Pull up revision 1.8 (requested by skrll in ticket #1725):
Convert to use register prefixes. (0 -> %r0, etc.)
 1.7.12.1 01-Aug-2002  nathanw Catch up to -current.
 1.3 01-Feb-2014  matt Since powerpc passes 8 arguments in registers and the syscall number in r0,
shuffle register argument so the kernel won't need to access the stack to
retrieve that last argument.
 1.2 25-May-1998  ws branches: 1.2.70; 1.2.76;
Remove long obsolete copyright (should have been done before initial import)
 1.1 29-Mar-1997  thorpej Architecture-specific bits for libc on the PowerPC. From Wolfgang
Solfrank <ws@tools.de>
 1.2.76.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.2.70.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")

RSS XML Feed