Commit Graph

7 Commits

Author SHA1 Message Date
Marcus Shawcroft 2c8e31d654 [ARM] Reorganize strlen selection.
Remove automake and autoconf selection of strchr implementation in
favour of conditional compilation in strlen.c.
2015-11-13 11:52:01 +00:00
Marcus Shawcroft d18f1fc8a3 Reorganize memchr selection.
The patch cleans up the auto configury mechanism used to select
different implementations of memchr for various architecture versions.

The approach here is to remove the selection of memchr within automake
and instead use complimentary logic in memchr-stub.c and memchr.S to
choose between the gerneric memchr.c implementation or one of the
architecture specific implementations.

This patch also changes the selection criteria inline with the
previous proposal here:

https://sourceware.org/ml/newlib/2015/msg00752.html

but using the ACLE predefines.

Regressed for armv7-a armv5 armv8-a, correct selection of memcpy
implementation by manual inspection of a test program built for these
three architectures.
2015-11-06 16:11:32 +00:00
Marcus Shawcroft 72be1dead4 Reorganize memcpy selection.
This patch cleans up the auto configury mechanism used to select
different implementations of memcpy for various architecture versions.

The approach here is to remove the selection of memcpy within automake
and instead use complimentary logic in memcpy-stub.c and memcpy.S to
choose between the generic memcpy.c implemenation or one of the
architecture specific memcpy*.S implemenations.

Regressed for armv7-a armv5 armv8-a, correct selection of memcpy
implementation by manual inspection of a test program built for these
three architectures.

This revised patch flips the remaining preprocessor logic in
memcpy-stub.c to use ACLE defines as requested in the previous review
and removes the now disused HAVE_ARMV7A and HAVE_ARMV8A configure.in
support.
2015-11-06 15:40:31 +00:00
Marcus Shawcroft 0a4019eed2 [ARM] Select appropriate memcpy implementation for ARMv8-a.
The newlib configury logic that detects architecture version and
chooses an appropriate memcpy implementation does not consider
ARMv8-a.

This patch adds configury logic to detect ARMv8-a along with the
associated changes in Makefile.am and memcpy.
2015-11-03 11:04:55 +00:00
Jeff Johnston c8a01afd97 2014-09-05 Hale Wang <hale.wang@arm.com>
* libc/machine/arm/memchr.S: Clean up the wrapper.
        * libc/machine/arm/memcpy.S: Likewise.
        * libc/machine/arm/memchr-stub.c: Delete this redundant file.
        * libc/machine/arm/memcpy-stub.c: Likewise.
        * libc/machine/arm/strcmp.S: Add speed-preferred wrapper.
        * libc/machine/arm/strlen.S: Likewise.
        * libc/machine/arm/Makefile.am: Add dependencies.
        * libc/machine/arm/Makefile.in: Regenerated.
        * libc/machine/arm/configure.in: Add dependencies.
        * libc/machine/arm/configure: Regenerated.
2014-09-05 17:26:42 +00:00
Jeff Johnston 7ad962240c 2006-04-13 Ralf Corsepius <ralf.corsepius@rtems.org>
* acinclude.m4: New _NEWLIB_VERSION.
        * acinclude.m4(NEWLIB_CONFIGURE): AC_REQUIRE(_NEWLIB_VERSION).
        Use AC_CANONICAL_HOST instead of AC_CANONICAL_SYSTEM.
        Use new form of AC_INIT_AUTOMAKE.
        * configure.in: AC_PREREQ(2.59).
        Use autoconf-2.5.x version of AC_INIT.
        Use AC_CONFIG_FILES and autoconf-2.5x AC_OUTPUT instead of
        autoconf-2.13's AC_OUTPUT.
        * libm/configure.in: Ditto.
        * libm/machine/configure.in: Ditto.
        * libm/machine/i386/configure.in: Ditto.
        * libc/configure.in: Ditto.
        * libc/machine/a29k/configure.in: Ditto.
        * libc/machine/arm/configure.in: Ditto.
        * libc/machine/configure.in: Ditto.
        * libc/machine/mn10300/configure.in: Ditto.
        * libc/machine/powerpc/configure.in: Ditto.
        * libc/machine/z8k/configure.in: Ditto.
        * libc/machine/h8300/configure.in: Ditto.
        * libc/machine/mips/configure.in: Ditto.
        * libc/machine/crx/configure.in: Ditto.
        * libc/machine/m68hc11/configure.in: Ditto.
        * libc/machine/h8500/configure.in: Ditto.
        * libc/machine/xscale/configure.in: Ditto.
        * libc/machine/d10v/configure.in: Ditto.
        * libc/machine/fr30/configure.in: Ditto.
        * libc/machine/sh/configure.in: Ditto.
        * libc/machine/tic80/configure.in: Ditto.
        * libc/machine/m32r/configure.in: Ditto.
        * libc/machine/xstormy16/configure.in: Ditto.
        * libc/machine/i386/configure.in: Ditto.
        * libc/machine/d30v/configure.in: Ditto.
        * libc/machine/mn10200/configure.in: Ditto.
        * libc/machine/frv/configure.in: Ditto.
        * libc/machine/mt/configure.in: Ditto.
        * libc/machine/i960/configure.in: Ditto.
        * libc/machine/v850/configure.in: Ditto.
        * libc/machine/necv70/configure.in: Ditto.
        * libc/machine/tic4x/configure.in: Ditto.
        * libc/machine/cris/configure.in: Ditto.
        * libc/machine/m68k/configure.in: Ditto.
        * libc/machine/m32c/configure.in: Ditto.
        * libc/machine/hppa/configure.in: Ditto.
        * libc/machine/w65/configure.in: Ditto.
        * libc/machine/iq2000/configure.in: Ditto.
        * libc/machine/sparc/configure.in: Ditto.
        * libc/machine/m88k/configure.in: Ditto.
        * libc/sys/linux/configure.in: Ditto.
        * libc/sys/linux/machine/configure.in: Ditto.
        * libc/sys/linux/machine/i386/configure.in: Ditto.
        * libc/sys/linux/linuxthreads/configure.in: Ditto.
        * libc/sys/linux/linuxthreads/machine/configure.in: Ditto.
        * libc/sys/linux/linuxthreads/machine/i386/configure.in: Ditto.
        * libc/sys/arm/configure.in: Ditto.
        * libc/sys/configure.in: Ditto.
        * libc/sys/decstation/configure.in: Ditto.
        * libc/sys/a29khif/configure.in: Ditto.
        * libc/sys/sysnecv850/configure.in: Ditto.
        * libc/sys/d10v/configure.in: Ditto.
        * libc/sys/netware/configure.in: Ditto.
        * libc/sys/mmixware/configure.in: Ditto.
        * libc/sys/h8500hms/configure.in: Ditto.
        * libc/sys/sh/configure.in: Ditto.
        * libc/sys/tic80/configure.in: Ditto.
        * libc/sys/rdos/configure.in: Ditto.
        * libc/sys/sysmec/configure.in: Ditto.
        * libc/sys/sysvi386/configure.in: Ditto.
        * libc/sys/h8300hms/configure.in: Ditto.
        * libc/sys/sparc64/configure.in: Ditto.
        * libc/sys/arc/configure.in: Ditto.
        * libc/sys/sysnec810/configure.in: Ditto.
        * libc/sys/m88kbug/configure.in: Ditto.
        * libc/sys/sysvnecv70/configure.in: Ditto.
        * libc/sys/z8ksim/configure.in: Ditto.
        * libc/sys/rtems/configure.in: Ditto.
        * libc/sys/w65/configure.in: Ditto.
        * libc/sys/sun4/configure.in: Ditto.
        * doc/configure.in: Ditto.
        * iconvdata/configure.in: Ditto.
        * configure.in: Use AC_CONFIG_HEADER instead of AM_CONFIG_HEADER.
2006-04-13 19:56:32 +00:00
Christopher Faylor 8a0efa53e4 import newlib-2000-02-17 snapshot 2000-02-17 19:39:52 +00:00