Home | History | Annotate | only in /src/lib/libc/arch/powerpc/string
History log of /src/lib/libc/arch/powerpc/string
RevisionDateAuthorComments
 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

RSS XML Feed