Home | History | Annotate | only in /src/lib/libc/arch/powerpc64/gen
History log of /src/lib/libc/arch/powerpc64/gen
RevisionDateAuthorComments
 1.5 14-Sep-2023  rin libc/arch: Fix copy-paste; or1k, powerpc64, riscv are not powerpc ;)
 1.4 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.3 07-Jul-2006  ross Add missing ppc64 elements
 1.2 03-Jul-2006  drochner This is a new port - don't ever start with frexp/ldexp/modf in libc, we
have it in libm already.
 1.1 01-Jul-2006  ross ppc64 build framework first pass
 1.5 11-Oct-2023  skrll Consistently pass 0 as first and ignored argument to sigprocmask in the
setjmp implementations.

NFCI.
 1.4 11-Oct-2023  skrll Trailing whitespace
 1.3 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.2 08-Mar-2009  he branches: 1.2.24;
Based on input from Eduardo Horvath (eeh@), replace 'stmd' and 'lmd',
which apparently don't exist as instructions, with a sequence of
std / ld instructions.

Also remove the attempted include of ldstm.S which we don't have.
 1.1 07-Jul-2006  ross branches: 1.1.30;
Add missing ppc64 elements
 1.1.30.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.2.24.2 04-Feb-2015  martin Fix merge mishap in previous
 1.2.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.4 11-Oct-2023  skrll Consistently pass 0 as first and ignored argument to sigprocmask in the
setjmp implementations.

NFCI.
 1.3 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.2 22-Mar-2010  mrg branches: 1.2.24;
replace kernel-only 'stmd' and 'lmd' operations in userland with equivalent
sequences of code, as done in eg, powerpc64/gen/_setjmp.S rev 1.2.

from dennis.c.ferguson@gmail.com in PR#43009.
 1.1 07-Jul-2006  ross Add missing ppc64 elements
 1.2.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.3 24-Nov-2012  christos fix lint.
 1.2 05-Jul-2006  ross branches: 1.2.44; 1.2.50;
adjust casts for LP64
 1.1 01-Jul-2006  ross ppc64 build framework first pass
 1.2.50.1 25-Feb-2013  tls resync with head
 1.2.44.1 16-Jan-2013  yamt sync with (a bit old) head
 1.2 05-Jul-2006  ross Finish ppc64 conversion
 1.1 01-Jul-2006  ross ppc64 build framework first pass
 1.3 08-Nov-2018  riastradh powerpc64 needs fabsl too. (Apparently no __HAVE_LONG_DOUBLE?)
 1.2 05-Jul-2006  ross branches: 1.2.84; 1.2.86;
fix typo
 1.1 01-Jul-2006  ross ppc64 build framework first pass
 1.2.86.1 10-Jun-2019  christos Sync with HEAD
 1.2.84.1 26-Nov-2018  pgoyette Sync with HEAD, resolve a couple of conflicts
 1.2 19-Mar-2015  joerg Call libc's fpgetround.
 1.1 01-Jul-2006  ross branches: 1.1.64;
ppc64 build framework first pass
 1.1.64.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.2 28-Apr-2008  martin branches: 1.2.8;
Remove clause 3 and 4 from TNF licenses
 1.1 01-Jul-2006  ross branches: 1.1.18;
ppc64 build framework first pass
 1.1.18.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 fpgetmask.c was added on branch christos-time_t on 2008-04-28 20:22:58 +0000
 1.2 28-Apr-2008  martin branches: 1.2.8;
Remove clause 3 and 4 from TNF licenses
 1.1 01-Jul-2006  ross branches: 1.1.18;
ppc64 build framework first pass
 1.1.18.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 fpgetround.c was added on branch christos-time_t on 2008-04-28 20:22:58 +0000
 1.2 28-Apr-2008  martin branches: 1.2.8;
Remove clause 3 and 4 from TNF licenses
 1.1 01-Jul-2006  ross branches: 1.1.18;
ppc64 build framework first pass
 1.1.18.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 fpgetsticky.c was added on branch christos-time_t on 2008-04-28 20:22:58 +0000
 1.2 28-Apr-2008  martin branches: 1.2.8;
Remove clause 3 and 4 from TNF licenses
 1.1 01-Jul-2006  ross branches: 1.1.18;
ppc64 build framework first pass
 1.1.18.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 fpsetmask.c was added on branch christos-time_t on 2008-04-28 20:22:58 +0000
 1.2 28-Apr-2008  martin branches: 1.2.8;
Remove clause 3 and 4 from TNF licenses
 1.1 01-Jul-2006  ross branches: 1.1.18;
ppc64 build framework first pass
 1.1.18.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 fpsetround.c was added on branch christos-time_t on 2008-04-28 20:22:58 +0000
 1.2 28-Apr-2008  martin branches: 1.2.8;
Remove clause 3 and 4 from TNF licenses
 1.1 01-Jul-2006  ross branches: 1.1.18;
ppc64 build framework first pass
 1.1.18.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 fpsetsticky.c was added on branch christos-time_t on 2008-04-28 20:22:58 +0000
 1.3 28-Apr-2008  martin branches: 1.3.8;
Remove clause 3 and 4 from TNF licenses
 1.2 05-Jul-2006  ross branches: 1.2.18;
Adjust types and casts for LP64 compilation.
Split "long *sp;" into "__greg_t sp, *spp;", which reduces the cast
density and could be used to clean up the ppc32 version as well.
 1.1 01-Jul-2006  ross ppc64 build framework first pass
 1.2.18.1 18-May-2008  yamt sync with head.
 1.3.8.2 28-Apr-2008  martin Remove clause 3 and 4 from TNF licenses
 1.3.8.1 28-Apr-2008  martin file makecontext.c was added on branch christos-time_t on 2008-04-28 20:22:58 +0000
 1.2 22-Feb-2009  martin Make NAN a compile time constant (with help from the compiler). Suggested
by krister. Fixes PR 40695.
Make references to the old construct (which we can't remove for binary
compatibility reasons) emit a linker warning.
 1.1 01-Jul-2006  ross branches: 1.1.30;
ppc64 build framework first pass
 1.1.30.1 13-May-2009  jym Sync with HEAD.

Third (and last) commit. See http://mail-index.netbsd.org/source-changes/2009/05/13/msg221222.html
 1.4 19-Sep-2011  joerg Mark _resumecontext as dead. ANSIfy all declarations for it.
 1.3 28-Apr-2008  martin branches: 1.3.8;
Remove clause 3 and 4 from TNF licenses
 1.2 08-Dec-2006  martin branches: 1.2.10;
Sync all resumecontext.c versions with the changes originally made
by Matthias Drochner to i386 and alpha:

-check for a NULL uc_link before calling setcontext(2); do a real exit(3)
instead with exit handlers and all that
-If setcontext(2) returns (which it shouldn't), do an _exit(-1) rather
than relying on a sensible return value to use as exit code. Makes
it less likely that an ucontext corruption goes unnoticed.
 1.1 01-Jul-2006  ross branches: 1.1.4;
ppc64 build framework first pass
 1.1.4.1 09-Dec-2006  bouyer Pull up following revision(s) (requested by martin in ticket #264):
lib/libc/arch/sh5/gen/resumecontext.c: revision 1.2
lib/libc/arch/sh3/gen/resumecontext.c: revision 1.3
lib/libc/arch/sparc/gen/resumecontext.c: revision 1.3
lib/libc/arch/powerpc/gen/resumecontext.c: revision 1.3
lib/libc/arch/arm/gen/resumecontext.c: revision 1.3
lib/libc/arch/mips/gen/resumecontext.c: revision 1.3
lib/libc/arch/vax/gen/resumecontext.c: revision 1.2
lib/libc/arch/powerpc64/gen/resumecontext.c: revision 1.2
lib/libc/arch/hppa/gen/resumecontext.c: revision 1.2
Sync all resumecontext.c versions with the changes originally made
by Matthias Drochner to i386 and alpha:
-check for a NULL uc_link before calling setcontext(2); do a real exit(3)
instead with exit handlers and all that
-If setcontext(2) returns (which it shouldn't), do an _exit(-1) rather
than relying on a sensible return value to use as exit code. Makes
it less likely that an ucontext corruption goes unnoticed.
 1.2.10.1 18-May-2008  yamt sync with head.
 1.3.8.2 28-Apr-2008  martin Remove clause 3 and 4 from TNF licenses
 1.3.8.1 28-Apr-2008  martin file resumecontext.c was added on branch christos-time_t on 2008-04-28 20:22:58 +0000
 1.5 13-Aug-2014  joerg [] -> ()
 1.4 12-Sep-2012  manu setcontext() used to be incompatible with -lpthread since it affected
the TLS pointer, therefore wrecking the pthread environement.

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

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

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

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

Approved by core@
 1.3 28-Apr-2008  martin branches: 1.3.4; 1.3.8;
Remove clause 3 and 4 from TNF licenses
 1.2 05-Jul-2006  ross branches: 1.2.18;
revise for ppc64
 1.1 01-Jul-2006  ross ppc64 build framework first pass
 1.2.18.1 18-May-2008  yamt sync with head.
 1.3.8.2 28-Apr-2008  martin Remove clause 3 and 4 from TNF licenses
 1.3.8.1 28-Apr-2008  martin file swapcontext.S was added on branch christos-time_t on 2008-04-28 20:22:58 +0000
 1.3.4.1 30-Oct-2012  yamt sync with head
 1.2 24-Nov-2012  christos Use __arraycount(), and cast to u_int.
 1.1 01-Jul-2006  ross branches: 1.1.44; 1.1.50;
ppc64 build framework first pass
 1.1.50.1 25-Feb-2013  tls resync with head
 1.1.44.1 16-Jan-2013  yamt sync with (a bit old) head

RSS XML Feed