mirror of
git://sourceware.org/git/newlib-cygwin.git
synced 2025-01-31 11:30:56 +08:00
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.
This commit is contained in:
parent
bea3ef947a
commit
c8a01afd97
@ -1,3 +1,16 @@
|
|||||||
|
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 Bin Cheng <bin.cheng@arm.com>
|
2014-09-05 Bin Cheng <bin.cheng@arm.com>
|
||||||
|
|
||||||
* libc/stdio/findfp.c (_cleanup_r): Call _fflush_r when configuration
|
* libc/stdio/findfp.c (_cleanup_r): Call _fflush_r when configuration
|
||||||
|
@ -8,12 +8,59 @@ AM_CCASFLAGS = $(INCLUDES)
|
|||||||
|
|
||||||
noinst_LIBRARIES = lib.a
|
noinst_LIBRARIES = lib.a
|
||||||
|
|
||||||
lib_a_SOURCES = setjmp.S access.c strlen.c strcmp.S strcpy.c \
|
if HAVE_THUMB1
|
||||||
memcpy.S memcpy-stub.c memchr-stub.c memchr.S \
|
if OPT_SIZE
|
||||||
strlen.c strlen-armv7.S aeabi_memcpy.c \
|
STRCMP_SRC=strcmp.S
|
||||||
aeabi_memcpy-armv7a.S
|
STRCMP_OBJ=$(lpfx)strcmp.o
|
||||||
|
STRLEN_SRC=strlen.c
|
||||||
|
STRLEN_OBJ=$(lpfx)strlen.o
|
||||||
|
else
|
||||||
|
STRCMP_SRC=
|
||||||
|
STRCMP_OBJ=
|
||||||
|
STRLEN_SRC=
|
||||||
|
STRLEN_OBJ=
|
||||||
|
endif
|
||||||
|
else
|
||||||
|
STRCMP_SRC=strcmp.S
|
||||||
|
STRCMP_OBJ=$(lpfx)strcmp.o
|
||||||
|
STRLEN_SRC=strlen.c
|
||||||
|
STRLEN_OBJ=$(lpfx)strlen.o
|
||||||
|
endif
|
||||||
|
|
||||||
|
if HAVE_ARMV7
|
||||||
|
MEMCHR_SRC=memchr.S
|
||||||
|
MEMCHR_OBJ=$(lpfx)memchr.o
|
||||||
|
else
|
||||||
|
MEMCHR_SRC=
|
||||||
|
MEMCHR_OBJ=
|
||||||
|
endif
|
||||||
|
|
||||||
|
if OPT_SIZE
|
||||||
|
MEMCPY_SRC=
|
||||||
|
MEMCPY_OBJ=
|
||||||
|
else
|
||||||
|
if HAVE_ARMV7A
|
||||||
|
MEMCPY_SRC=memcpy.S
|
||||||
|
MEMCPY_OBJ=$(lpfx)memcpy.o
|
||||||
|
else
|
||||||
|
if HAVE_ARMV7M
|
||||||
|
MEMCPY_SRC=memcpy.S
|
||||||
|
MEMCPY_OBJ=$(lpfx)memcpy.o
|
||||||
|
else
|
||||||
|
MEMCPY_SRC=
|
||||||
|
MEMCPY_OBJ=
|
||||||
|
endif !HAVE_ARMV7M
|
||||||
|
endif !HAVE_ARMV7A
|
||||||
|
endif !OPT_SIZE
|
||||||
|
|
||||||
|
lib_a_SOURCES = setjmp.S access.c $(STRCMP_SRC) strcpy.c \
|
||||||
|
$(MEMCPY_SRC) $(MEMCHR_SRC) $(STRLEN_SRC) \
|
||||||
|
strlen-armv7.S aebi_memcpy.c aeabi_memcpy-armv7a.S
|
||||||
|
|
||||||
lib_a_CCASFLAGS=$(AM_CCASFLAGS)
|
lib_a_CCASFLAGS=$(AM_CCASFLAGS)
|
||||||
lib_a_CFLAGS = $(AM_CFLAGS)
|
lib_a_CFLAGS = $(AM_CFLAGS)
|
||||||
|
lib_a_LIBADD = $(STRCMP_OBJ) $(STRLEN_OBJ) $(MEMCHR_OBJ) $(MEMCPY_OBJ)
|
||||||
|
lib_a_DEPENDENCIES = $(STRCMP_OBJ) $(STRLEN_OBJ) $(MEMCHR_OBJ) $(MEMCPY_OBJ)
|
||||||
|
|
||||||
ACLOCAL_AMFLAGS = -I ../../.. -I ../../../..
|
ACLOCAL_AMFLAGS = -I ../../.. -I ../../../..
|
||||||
CONFIG_STATUS_DEPENDENCIES = $(newlib_basedir)/configure.host
|
CONFIG_STATUS_DEPENDENCIES = $(newlib_basedir)/configure.host
|
||||||
|
@ -68,13 +68,28 @@ CONFIG_CLEAN_VPATH_FILES =
|
|||||||
LIBRARIES = $(noinst_LIBRARIES)
|
LIBRARIES = $(noinst_LIBRARIES)
|
||||||
ARFLAGS = cru
|
ARFLAGS = cru
|
||||||
lib_a_AR = $(AR) $(ARFLAGS)
|
lib_a_AR = $(AR) $(ARFLAGS)
|
||||||
lib_a_LIBADD =
|
@HAVE_THUMB1_FALSE@am__DEPENDENCIES_1 = $(lpfx)strcmp.o
|
||||||
|
@HAVE_THUMB1_TRUE@@OPT_SIZE_TRUE@am__DEPENDENCIES_1 = $(lpfx)strcmp.o
|
||||||
|
@HAVE_THUMB1_FALSE@am__DEPENDENCIES_2 = $(lpfx)strlen.o
|
||||||
|
@HAVE_THUMB1_TRUE@@OPT_SIZE_TRUE@am__DEPENDENCIES_2 = $(lpfx)strlen.o
|
||||||
|
@HAVE_ARMV7_TRUE@am__DEPENDENCIES_3 = $(lpfx)memchr.o
|
||||||
|
@HAVE_ARMV7A_FALSE@@HAVE_ARMV7M_TRUE@@OPT_SIZE_FALSE@am__DEPENDENCIES_4 = $(lpfx)memcpy.o
|
||||||
|
@HAVE_ARMV7A_TRUE@@OPT_SIZE_FALSE@am__DEPENDENCIES_4 = \
|
||||||
|
@HAVE_ARMV7A_TRUE@@OPT_SIZE_FALSE@ $(lpfx)memcpy.o
|
||||||
|
@HAVE_THUMB1_FALSE@am__objects_1 = lib_a-strcmp.$(OBJEXT)
|
||||||
|
@HAVE_THUMB1_TRUE@@OPT_SIZE_TRUE@am__objects_1 = \
|
||||||
|
@HAVE_THUMB1_TRUE@@OPT_SIZE_TRUE@ lib_a-strcmp.$(OBJEXT)
|
||||||
|
@HAVE_ARMV7A_FALSE@@HAVE_ARMV7M_TRUE@@OPT_SIZE_FALSE@am__objects_2 = lib_a-memcpy.$(OBJEXT)
|
||||||
|
@HAVE_ARMV7A_TRUE@@OPT_SIZE_FALSE@am__objects_2 = \
|
||||||
|
@HAVE_ARMV7A_TRUE@@OPT_SIZE_FALSE@ lib_a-memcpy.$(OBJEXT)
|
||||||
|
@HAVE_ARMV7_TRUE@am__objects_3 = lib_a-memchr.$(OBJEXT)
|
||||||
|
@HAVE_THUMB1_FALSE@am__objects_4 = lib_a-strlen.$(OBJEXT)
|
||||||
|
@HAVE_THUMB1_TRUE@@OPT_SIZE_TRUE@am__objects_4 = \
|
||||||
|
@HAVE_THUMB1_TRUE@@OPT_SIZE_TRUE@ lib_a-strlen.$(OBJEXT)
|
||||||
am_lib_a_OBJECTS = lib_a-setjmp.$(OBJEXT) lib_a-access.$(OBJEXT) \
|
am_lib_a_OBJECTS = lib_a-setjmp.$(OBJEXT) lib_a-access.$(OBJEXT) \
|
||||||
lib_a-strlen.$(OBJEXT) lib_a-strcmp.$(OBJEXT) \
|
$(am__objects_1) lib_a-strcpy.$(OBJEXT) $(am__objects_2) \
|
||||||
lib_a-strcpy.$(OBJEXT) lib_a-memcpy.$(OBJEXT) \
|
$(am__objects_3) $(am__objects_4) lib_a-strlen-armv7.$(OBJEXT) \
|
||||||
lib_a-memcpy-stub.$(OBJEXT) lib_a-memchr-stub.$(OBJEXT) \
|
lib_a-aebi_memcpy.$(OBJEXT) \
|
||||||
lib_a-memchr.$(OBJEXT) lib_a-strlen.$(OBJEXT) \
|
|
||||||
lib_a-strlen-armv7.$(OBJEXT) lib_a-aeabi_memcpy.$(OBJEXT) \
|
|
||||||
lib_a-aeabi_memcpy-armv7a.$(OBJEXT)
|
lib_a-aeabi_memcpy-armv7a.$(OBJEXT)
|
||||||
lib_a_OBJECTS = $(am_lib_a_OBJECTS)
|
lib_a_OBJECTS = $(am_lib_a_OBJECTS)
|
||||||
DEFAULT_INCLUDES = -I.@am__isrc@
|
DEFAULT_INCLUDES = -I.@am__isrc@
|
||||||
@ -106,6 +121,7 @@ CC = @CC@
|
|||||||
CCAS = @CCAS@
|
CCAS = @CCAS@
|
||||||
CCASFLAGS = @CCASFLAGS@
|
CCASFLAGS = @CCASFLAGS@
|
||||||
CCDEPMODE = @CCDEPMODE@
|
CCDEPMODE = @CCDEPMODE@
|
||||||
|
CFLAGS = @CFLAGS@
|
||||||
CYGPATH_W = @CYGPATH_W@
|
CYGPATH_W = @CYGPATH_W@
|
||||||
DEFS = @DEFS@
|
DEFS = @DEFS@
|
||||||
DEPDIR = @DEPDIR@
|
DEPDIR = @DEPDIR@
|
||||||
@ -132,7 +148,6 @@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
|
|||||||
PACKAGE_NAME = @PACKAGE_NAME@
|
PACKAGE_NAME = @PACKAGE_NAME@
|
||||||
PACKAGE_STRING = @PACKAGE_STRING@
|
PACKAGE_STRING = @PACKAGE_STRING@
|
||||||
PACKAGE_TARNAME = @PACKAGE_TARNAME@
|
PACKAGE_TARNAME = @PACKAGE_TARNAME@
|
||||||
PACKAGE_URL = @PACKAGE_URL@
|
|
||||||
PACKAGE_VERSION = @PACKAGE_VERSION@
|
PACKAGE_VERSION = @PACKAGE_VERSION@
|
||||||
PATH_SEPARATOR = @PATH_SEPARATOR@
|
PATH_SEPARATOR = @PATH_SEPARATOR@
|
||||||
RANLIB = @RANLIB@
|
RANLIB = @RANLIB@
|
||||||
@ -201,13 +216,38 @@ AUTOMAKE_OPTIONS = cygnus
|
|||||||
INCLUDES = $(NEWLIB_CFLAGS) $(CROSS_CFLAGS) $(TARGET_CFLAGS)
|
INCLUDES = $(NEWLIB_CFLAGS) $(CROSS_CFLAGS) $(TARGET_CFLAGS)
|
||||||
AM_CCASFLAGS = $(INCLUDES)
|
AM_CCASFLAGS = $(INCLUDES)
|
||||||
noinst_LIBRARIES = lib.a
|
noinst_LIBRARIES = lib.a
|
||||||
lib_a_SOURCES = setjmp.S access.c strlen.c strcmp.S strcpy.c \
|
@HAVE_THUMB1_FALSE@STRCMP_SRC = strcmp.S
|
||||||
memcpy.S memcpy-stub.c memchr-stub.c memchr.S \
|
@HAVE_THUMB1_TRUE@@OPT_SIZE_FALSE@STRCMP_SRC =
|
||||||
strlen.c strlen-armv7.S aeabi_memcpy.c \
|
@HAVE_THUMB1_TRUE@@OPT_SIZE_TRUE@STRCMP_SRC = strcmp.S
|
||||||
aeabi_memcpy-armv7a.S
|
@HAVE_THUMB1_FALSE@STRCMP_OBJ = $(lpfx)strcmp.o
|
||||||
|
@HAVE_THUMB1_TRUE@@OPT_SIZE_FALSE@STRCMP_OBJ =
|
||||||
|
@HAVE_THUMB1_TRUE@@OPT_SIZE_TRUE@STRCMP_OBJ = $(lpfx)strcmp.o
|
||||||
|
@HAVE_THUMB1_FALSE@STRLEN_SRC = strlen.c
|
||||||
|
@HAVE_THUMB1_TRUE@@OPT_SIZE_FALSE@STRLEN_SRC =
|
||||||
|
@HAVE_THUMB1_TRUE@@OPT_SIZE_TRUE@STRLEN_SRC = strlen.c
|
||||||
|
@HAVE_THUMB1_FALSE@STRLEN_OBJ = $(lpfx)strlen.o
|
||||||
|
@HAVE_THUMB1_TRUE@@OPT_SIZE_FALSE@STRLEN_OBJ =
|
||||||
|
@HAVE_THUMB1_TRUE@@OPT_SIZE_TRUE@STRLEN_OBJ = $(lpfx)strlen.o
|
||||||
|
@HAVE_ARMV7_FALSE@MEMCHR_SRC =
|
||||||
|
@HAVE_ARMV7_TRUE@MEMCHR_SRC = memchr.S
|
||||||
|
@HAVE_ARMV7_FALSE@MEMCHR_OBJ =
|
||||||
|
@HAVE_ARMV7_TRUE@MEMCHR_OBJ = $(lpfx)memchr.o
|
||||||
|
@HAVE_ARMV7A_FALSE@@HAVE_ARMV7M_FALSE@@OPT_SIZE_FALSE@MEMCPY_SRC =
|
||||||
|
@HAVE_ARMV7A_FALSE@@HAVE_ARMV7M_TRUE@@OPT_SIZE_FALSE@MEMCPY_SRC = memcpy.S
|
||||||
|
@HAVE_ARMV7A_TRUE@@OPT_SIZE_FALSE@MEMCPY_SRC = memcpy.S
|
||||||
|
@OPT_SIZE_TRUE@MEMCPY_SRC =
|
||||||
|
@HAVE_ARMV7A_FALSE@@HAVE_ARMV7M_FALSE@@OPT_SIZE_FALSE@MEMCPY_OBJ =
|
||||||
|
@HAVE_ARMV7A_FALSE@@HAVE_ARMV7M_TRUE@@OPT_SIZE_FALSE@MEMCPY_OBJ = $(lpfx)memcpy.o
|
||||||
|
@HAVE_ARMV7A_TRUE@@OPT_SIZE_FALSE@MEMCPY_OBJ = $(lpfx)memcpy.o
|
||||||
|
@OPT_SIZE_TRUE@MEMCPY_OBJ =
|
||||||
|
lib_a_SOURCES = setjmp.S access.c $(STRCMP_SRC) strcpy.c \
|
||||||
|
$(MEMCPY_SRC) $(MEMCHR_SRC) $(STRLEN_SRC) \
|
||||||
|
strlen-armv7.S aebi_memcpy.c aeabi_memcpy-armv7a.S
|
||||||
|
|
||||||
lib_a_CCASFLAGS = $(AM_CCASFLAGS)
|
lib_a_CCASFLAGS = $(AM_CCASFLAGS)
|
||||||
lib_a_CFLAGS = $(AM_CFLAGS)
|
lib_a_CFLAGS = $(AM_CFLAGS)
|
||||||
|
lib_a_LIBADD = $(STRCMP_OBJ) $(STRLEN_OBJ) $(MEMCHR_OBJ) $(MEMCPY_OBJ)
|
||||||
|
lib_a_DEPENDENCIES = $(STRCMP_OBJ) $(STRLEN_OBJ) $(MEMCHR_OBJ) $(MEMCPY_OBJ)
|
||||||
ACLOCAL_AMFLAGS = -I ../../.. -I ../../../..
|
ACLOCAL_AMFLAGS = -I ../../.. -I ../../../..
|
||||||
CONFIG_STATUS_DEPENDENCIES = $(newlib_basedir)/configure.host
|
CONFIG_STATUS_DEPENDENCIES = $(newlib_basedir)/configure.host
|
||||||
MEMCPY_DEP = memcpy-armv7a.S memcpy-armv7m.S
|
MEMCPY_DEP = memcpy-armv7a.S memcpy-armv7m.S
|
||||||
@ -320,35 +360,23 @@ lib_a-access.o: access.c
|
|||||||
lib_a-access.obj: access.c
|
lib_a-access.obj: access.c
|
||||||
$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-access.obj `if test -f 'access.c'; then $(CYGPATH_W) 'access.c'; else $(CYGPATH_W) '$(srcdir)/access.c'; fi`
|
$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-access.obj `if test -f 'access.c'; then $(CYGPATH_W) 'access.c'; else $(CYGPATH_W) '$(srcdir)/access.c'; fi`
|
||||||
|
|
||||||
lib_a-strlen.o: strlen.c
|
|
||||||
$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-strlen.o `test -f 'strlen.c' || echo '$(srcdir)/'`strlen.c
|
|
||||||
|
|
||||||
lib_a-strlen.obj: strlen.c
|
|
||||||
$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-strlen.obj `if test -f 'strlen.c'; then $(CYGPATH_W) 'strlen.c'; else $(CYGPATH_W) '$(srcdir)/strlen.c'; fi`
|
|
||||||
|
|
||||||
lib_a-strcpy.o: strcpy.c
|
lib_a-strcpy.o: strcpy.c
|
||||||
$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-strcpy.o `test -f 'strcpy.c' || echo '$(srcdir)/'`strcpy.c
|
$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-strcpy.o `test -f 'strcpy.c' || echo '$(srcdir)/'`strcpy.c
|
||||||
|
|
||||||
lib_a-strcpy.obj: strcpy.c
|
lib_a-strcpy.obj: strcpy.c
|
||||||
$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-strcpy.obj `if test -f 'strcpy.c'; then $(CYGPATH_W) 'strcpy.c'; else $(CYGPATH_W) '$(srcdir)/strcpy.c'; fi`
|
$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-strcpy.obj `if test -f 'strcpy.c'; then $(CYGPATH_W) 'strcpy.c'; else $(CYGPATH_W) '$(srcdir)/strcpy.c'; fi`
|
||||||
|
|
||||||
lib_a-memcpy-stub.o: memcpy-stub.c
|
lib_a-strlen.o: strlen.c
|
||||||
$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-memcpy-stub.o `test -f 'memcpy-stub.c' || echo '$(srcdir)/'`memcpy-stub.c
|
$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-strlen.o `test -f 'strlen.c' || echo '$(srcdir)/'`strlen.c
|
||||||
|
|
||||||
lib_a-memcpy-stub.obj: memcpy-stub.c
|
lib_a-strlen.obj: strlen.c
|
||||||
$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-memcpy-stub.obj `if test -f 'memcpy-stub.c'; then $(CYGPATH_W) 'memcpy-stub.c'; else $(CYGPATH_W) '$(srcdir)/memcpy-stub.c'; fi`
|
$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-strlen.obj `if test -f 'strlen.c'; then $(CYGPATH_W) 'strlen.c'; else $(CYGPATH_W) '$(srcdir)/strlen.c'; fi`
|
||||||
|
|
||||||
lib_a-memchr-stub.o: memchr-stub.c
|
lib_a-aebi_memcpy.o: aebi_memcpy.c
|
||||||
$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-memchr-stub.o `test -f 'memchr-stub.c' || echo '$(srcdir)/'`memchr-stub.c
|
$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-aebi_memcpy.o `test -f 'aebi_memcpy.c' || echo '$(srcdir)/'`aebi_memcpy.c
|
||||||
|
|
||||||
lib_a-memchr-stub.obj: memchr-stub.c
|
lib_a-aebi_memcpy.obj: aebi_memcpy.c
|
||||||
$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-memchr-stub.obj `if test -f 'memchr-stub.c'; then $(CYGPATH_W) 'memchr-stub.c'; else $(CYGPATH_W) '$(srcdir)/memchr-stub.c'; fi`
|
$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-aebi_memcpy.obj `if test -f 'aebi_memcpy.c'; then $(CYGPATH_W) 'aebi_memcpy.c'; else $(CYGPATH_W) '$(srcdir)/aebi_memcpy.c'; fi`
|
||||||
|
|
||||||
lib_a-aeabi_memcpy.o: aeabi_memcpy.c
|
|
||||||
$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-aeabi_memcpy.o `test -f 'aeabi_memcpy.c' || echo '$(srcdir)/'`aeabi_memcpy.c
|
|
||||||
|
|
||||||
lib_a-aeabi_memcpy.obj: aeabi_memcpy.c
|
|
||||||
$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-aeabi_memcpy.obj `if test -f 'aeabi_memcpy.c'; then $(CYGPATH_W) 'aeabi_memcpy.c'; else $(CYGPATH_W) '$(srcdir)/aeabi_memcpy.c'; fi`
|
|
||||||
|
|
||||||
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
|
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
|
||||||
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
|
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
|
||||||
|
243
newlib/libc/machine/arm/configure
vendored
243
newlib/libc/machine/arm/configure
vendored
@ -564,6 +564,17 @@ PACKAGE_URL=''
|
|||||||
ac_unique_file="Makefile.am"
|
ac_unique_file="Makefile.am"
|
||||||
ac_subst_vars='LTLIBOBJS
|
ac_subst_vars='LTLIBOBJS
|
||||||
LIBOBJS
|
LIBOBJS
|
||||||
|
CFLAGS
|
||||||
|
HAVE_ARMV7M_FALSE
|
||||||
|
HAVE_ARMV7M_TRUE
|
||||||
|
HAVE_ARMV7A_FALSE
|
||||||
|
HAVE_ARMV7A_TRUE
|
||||||
|
HAVE_ARMV7_FALSE
|
||||||
|
HAVE_ARMV7_TRUE
|
||||||
|
OPT_SIZE_FALSE
|
||||||
|
OPT_SIZE_TRUE
|
||||||
|
HAVE_THUMB1_FALSE
|
||||||
|
HAVE_THUMB1_TRUE
|
||||||
sys_dir
|
sys_dir
|
||||||
machine_dir
|
machine_dir
|
||||||
libm_machine_dir
|
libm_machine_dir
|
||||||
@ -3410,6 +3421,218 @@ OBJEXT=${oext}
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using thumb1" >&5
|
||||||
|
$as_echo_n "checking whether we are using thumb1... " >&6; }
|
||||||
|
if ${acnewlib_cv_thumb1_processor+:} false; then :
|
||||||
|
$as_echo_n "(cached) " >&6
|
||||||
|
else
|
||||||
|
cat > conftest.c <<EOF
|
||||||
|
|
||||||
|
#if defined (__thumb__) && !defined (__thumb2__)
|
||||||
|
#define _THUMB1
|
||||||
|
#else
|
||||||
|
#error "not thumb1"
|
||||||
|
#endif
|
||||||
|
int main () {
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
EOF
|
||||||
|
if { ac_try='${CC} $CFLAGS $CPPFLAGS -c -o conftest.o conftest.c
|
||||||
|
1>&5'
|
||||||
|
{ { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
|
||||||
|
(eval $ac_try) 2>&5
|
||||||
|
ac_status=$?
|
||||||
|
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
|
||||||
|
test $ac_status = 0; }; }
|
||||||
|
then
|
||||||
|
acnewlib_cv_thumb1_processor=yes;
|
||||||
|
else
|
||||||
|
acnewlib_cv_thumb1_processor=no;
|
||||||
|
fi
|
||||||
|
rm -f conftest*
|
||||||
|
fi
|
||||||
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $acnewlib_cv_thumb1_processor" >&5
|
||||||
|
$as_echo "$acnewlib_cv_thumb1_processor" >&6; }
|
||||||
|
|
||||||
|
if test x"$acnewlib_cv_thumb1_processor" = x"yes"; then
|
||||||
|
HAVE_THUMB1_TRUE=
|
||||||
|
HAVE_THUMB1_FALSE='#'
|
||||||
|
else
|
||||||
|
HAVE_THUMB1_TRUE='#'
|
||||||
|
HAVE_THUMB1_FALSE=
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the size is preferred" >&5
|
||||||
|
$as_echo_n "checking whether the size is preferred... " >&6; }
|
||||||
|
if ${acnewlib_cv_opt_size+:} false; then :
|
||||||
|
$as_echo_n "(cached) " >&6
|
||||||
|
else
|
||||||
|
cat > conftest.c <<EOF
|
||||||
|
|
||||||
|
#if defined (__OPTIMIZE_SIZE__) || defined (PREFER_SIZE_OVER_SPEED)
|
||||||
|
#define OPT_SIZE
|
||||||
|
#else
|
||||||
|
#error "not need for size optimization."
|
||||||
|
#endif
|
||||||
|
int main () {
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
EOF
|
||||||
|
if { ac_try='${CC} $CFLAGS $CPPFLAGS -c -o conftest.o conftest.c
|
||||||
|
1>&5'
|
||||||
|
{ { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
|
||||||
|
(eval $ac_try) 2>&5
|
||||||
|
ac_status=$?
|
||||||
|
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
|
||||||
|
test $ac_status = 0; }; }
|
||||||
|
then
|
||||||
|
acnewlib_cv_opt_size=yes;
|
||||||
|
else
|
||||||
|
acnewlib_cv_opt_size=no;
|
||||||
|
fi
|
||||||
|
rm -f conftest*
|
||||||
|
fi
|
||||||
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $acnewlib_cv_opt_size" >&5
|
||||||
|
$as_echo "$acnewlib_cv_opt_size" >&6; }
|
||||||
|
|
||||||
|
if test x"$acnewlib_cv_opt_size" = x"yes"; then
|
||||||
|
OPT_SIZE_TRUE=
|
||||||
|
OPT_SIZE_FALSE='#'
|
||||||
|
else
|
||||||
|
OPT_SIZE_TRUE='#'
|
||||||
|
OPT_SIZE_FALSE=
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether armv7 processor is supported" >&5
|
||||||
|
$as_echo_n "checking whether armv7 processor is supported... " >&6; }
|
||||||
|
if ${acnewlib_cv_armv7_processor+:} false; then :
|
||||||
|
$as_echo_n "(cached) " >&6
|
||||||
|
else
|
||||||
|
cat > conftest.c <<EOF
|
||||||
|
|
||||||
|
#if defined (_ISA_ARM_7) || defined (__ARM_ARCH_6T2__)
|
||||||
|
#define HAVE_ARMV7
|
||||||
|
#else
|
||||||
|
#error "ARMV7 is not supported."
|
||||||
|
#endif
|
||||||
|
int main () {
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
EOF
|
||||||
|
if { ac_try='${CC} $CFLAGS $CPPFLAGS -c -o conftest.o conftest.c
|
||||||
|
1>&5'
|
||||||
|
{ { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
|
||||||
|
(eval $ac_try) 2>&5
|
||||||
|
ac_status=$?
|
||||||
|
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
|
||||||
|
test $ac_status = 0; }; }
|
||||||
|
then
|
||||||
|
acnewlib_cv_armv7_processor=yes;
|
||||||
|
else
|
||||||
|
acnewlib_cv_armv7_processor=no;
|
||||||
|
fi
|
||||||
|
rm -f conftest*
|
||||||
|
fi
|
||||||
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $acnewlib_cv_armv7_processor" >&5
|
||||||
|
$as_echo "$acnewlib_cv_armv7_processor" >&6; }
|
||||||
|
|
||||||
|
if test x"$acnewlib_cv_armv7_processor" = x"yes"; then
|
||||||
|
HAVE_ARMV7_TRUE=
|
||||||
|
HAVE_ARMV7_FALSE='#'
|
||||||
|
else
|
||||||
|
HAVE_ARMV7_TRUE='#'
|
||||||
|
HAVE_ARMV7_FALSE=
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether armv7a processor is supported" >&5
|
||||||
|
$as_echo_n "checking whether armv7a processor is supported... " >&6; }
|
||||||
|
if ${acnewlib_cv_armv7a_processor+:} false; then :
|
||||||
|
$as_echo_n "(cached) " >&6
|
||||||
|
else
|
||||||
|
cat > conftest.c <<EOF
|
||||||
|
|
||||||
|
#if defined (__ARM_ARCH_7A__) && defined (__ARM_FEATURE_UNALIGNED)
|
||||||
|
#define HAVE_ARMV7A
|
||||||
|
#else
|
||||||
|
#error "ARMV7A is not supported."
|
||||||
|
#endif
|
||||||
|
int main () {
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
EOF
|
||||||
|
if { ac_try='${CC} $CFLAGS $CPPFLAGS -c -o conftest.o conftest.c
|
||||||
|
1>&5'
|
||||||
|
{ { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
|
||||||
|
(eval $ac_try) 2>&5
|
||||||
|
ac_status=$?
|
||||||
|
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
|
||||||
|
test $ac_status = 0; }; }
|
||||||
|
then
|
||||||
|
acnewlib_cv_armv7a_processor=yes;
|
||||||
|
else
|
||||||
|
acnewlib_cv_armv7a_processor=no;
|
||||||
|
fi
|
||||||
|
rm -f conftest*
|
||||||
|
fi
|
||||||
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $acnewlib_cv_armv7a_processor" >&5
|
||||||
|
$as_echo "$acnewlib_cv_armv7a_processor" >&6; }
|
||||||
|
|
||||||
|
if test x"$acnewlib_cv_armv7a_processor" = x"yes"; then
|
||||||
|
HAVE_ARMV7A_TRUE=
|
||||||
|
HAVE_ARMV7A_FALSE='#'
|
||||||
|
else
|
||||||
|
HAVE_ARMV7A_TRUE='#'
|
||||||
|
HAVE_ARMV7A_FALSE=
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether armv7m processor is supported" >&5
|
||||||
|
$as_echo_n "checking whether armv7m processor is supported... " >&6; }
|
||||||
|
if ${acnewlib_cv_armv7m_processor+:} false; then :
|
||||||
|
$as_echo_n "(cached) " >&6
|
||||||
|
else
|
||||||
|
cat > conftest.c <<EOF
|
||||||
|
|
||||||
|
#if defined (__ARM_ARCH_7M__) || defined (__ARM_ARCH_7EM__)
|
||||||
|
#define HAVE_ARMV7M
|
||||||
|
#else
|
||||||
|
#error "ARMV7M is not supported."
|
||||||
|
#endif
|
||||||
|
int main () {
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
EOF
|
||||||
|
if { ac_try='${CC} $CFLAGS $CPPFLAGS -c -o conftest.o conftest.c
|
||||||
|
1>&5'
|
||||||
|
{ { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
|
||||||
|
(eval $ac_try) 2>&5
|
||||||
|
ac_status=$?
|
||||||
|
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
|
||||||
|
test $ac_status = 0; }; }
|
||||||
|
then
|
||||||
|
acnewlib_cv_armv7m_processor=yes;
|
||||||
|
else
|
||||||
|
acnewlib_cv_armv7m_processor=no;
|
||||||
|
fi
|
||||||
|
rm -f conftest*
|
||||||
|
fi
|
||||||
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $acnewlib_cv_armv7m_processor" >&5
|
||||||
|
$as_echo "$acnewlib_cv_armv7m_processor" >&6; }
|
||||||
|
|
||||||
|
if test x"$acnewlib_cv_armv7m_processor" = x"yes"; then
|
||||||
|
HAVE_ARMV7M_TRUE=
|
||||||
|
HAVE_ARMV7M_FALSE='#'
|
||||||
|
else
|
||||||
|
HAVE_ARMV7M_TRUE='#'
|
||||||
|
HAVE_ARMV7M_FALSE=
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
ac_config_files="$ac_config_files Makefile"
|
ac_config_files="$ac_config_files Makefile"
|
||||||
|
|
||||||
cat >confcache <<\_ACEOF
|
cat >confcache <<\_ACEOF
|
||||||
@ -3598,6 +3821,26 @@ if test -z "${USE_LIBTOOL_TRUE}" && test -z "${USE_LIBTOOL_FALSE}"; then
|
|||||||
as_fn_error $? "conditional \"USE_LIBTOOL\" was never defined.
|
as_fn_error $? "conditional \"USE_LIBTOOL\" was never defined.
|
||||||
Usually this means the macro was only invoked conditionally." "$LINENO" 5
|
Usually this means the macro was only invoked conditionally." "$LINENO" 5
|
||||||
fi
|
fi
|
||||||
|
if test -z "${HAVE_THUMB1_TRUE}" && test -z "${HAVE_THUMB1_FALSE}"; then
|
||||||
|
as_fn_error $? "conditional \"HAVE_THUMB1\" was never defined.
|
||||||
|
Usually this means the macro was only invoked conditionally." "$LINENO" 5
|
||||||
|
fi
|
||||||
|
if test -z "${OPT_SIZE_TRUE}" && test -z "${OPT_SIZE_FALSE}"; then
|
||||||
|
as_fn_error $? "conditional \"OPT_SIZE\" was never defined.
|
||||||
|
Usually this means the macro was only invoked conditionally." "$LINENO" 5
|
||||||
|
fi
|
||||||
|
if test -z "${HAVE_ARMV7_TRUE}" && test -z "${HAVE_ARMV7_FALSE}"; then
|
||||||
|
as_fn_error $? "conditional \"HAVE_ARMV7\" was never defined.
|
||||||
|
Usually this means the macro was only invoked conditionally." "$LINENO" 5
|
||||||
|
fi
|
||||||
|
if test -z "${HAVE_ARMV7A_TRUE}" && test -z "${HAVE_ARMV7A_FALSE}"; then
|
||||||
|
as_fn_error $? "conditional \"HAVE_ARMV7A\" was never defined.
|
||||||
|
Usually this means the macro was only invoked conditionally." "$LINENO" 5
|
||||||
|
fi
|
||||||
|
if test -z "${HAVE_ARMV7M_TRUE}" && test -z "${HAVE_ARMV7M_FALSE}"; then
|
||||||
|
as_fn_error $? "conditional \"HAVE_ARMV7M\" was never defined.
|
||||||
|
Usually this means the macro was only invoked conditionally." "$LINENO" 5
|
||||||
|
fi
|
||||||
|
|
||||||
: "${CONFIG_STATUS=./config.status}"
|
: "${CONFIG_STATUS=./config.status}"
|
||||||
ac_write_fail=0
|
ac_write_fail=0
|
||||||
|
@ -10,5 +10,133 @@ AC_CONFIG_AUX_DIR(../../../..)
|
|||||||
|
|
||||||
NEWLIB_CONFIGURE(../../..)
|
NEWLIB_CONFIGURE(../../..)
|
||||||
|
|
||||||
|
dnl Check for Thumb1 supported.
|
||||||
|
AC_CACHE_CHECK(whether we are using thumb1,
|
||||||
|
acnewlib_cv_thumb1_processor, [dnl
|
||||||
|
cat > conftest.c <<EOF
|
||||||
|
|
||||||
|
#if defined (__thumb__) && !defined (__thumb2__)
|
||||||
|
#define _THUMB1
|
||||||
|
#else
|
||||||
|
#error "not thumb1"
|
||||||
|
#endif
|
||||||
|
int main () {
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
EOF
|
||||||
|
if AC_TRY_COMMAND([${CC} $CFLAGS $CPPFLAGS -c -o conftest.o conftest.c
|
||||||
|
1>&AS_MESSAGE_LOG_FD])
|
||||||
|
then
|
||||||
|
acnewlib_cv_thumb1_processor=yes;
|
||||||
|
else
|
||||||
|
acnewlib_cv_thumb1_processor=no;
|
||||||
|
fi
|
||||||
|
rm -f conftest*])
|
||||||
|
|
||||||
|
AM_CONDITIONAL(HAVE_THUMB1, test x"$acnewlib_cv_thumb1_processor" = x"yes")
|
||||||
|
|
||||||
|
dnl Check for whether the size is preferred.
|
||||||
|
AC_CACHE_CHECK(whether the size is preferred,
|
||||||
|
acnewlib_cv_opt_size, [dnl
|
||||||
|
cat > conftest.c <<EOF
|
||||||
|
|
||||||
|
#if defined (__OPTIMIZE_SIZE__) || defined (PREFER_SIZE_OVER_SPEED)
|
||||||
|
#define OPT_SIZE
|
||||||
|
#else
|
||||||
|
#error "not need for size optimization."
|
||||||
|
#endif
|
||||||
|
int main () {
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
EOF
|
||||||
|
if AC_TRY_COMMAND([${CC} $CFLAGS $CPPFLAGS -c -o conftest.o conftest.c
|
||||||
|
1>&AS_MESSAGE_LOG_FD])
|
||||||
|
then
|
||||||
|
acnewlib_cv_opt_size=yes;
|
||||||
|
else
|
||||||
|
acnewlib_cv_opt_size=no;
|
||||||
|
fi
|
||||||
|
rm -f conftest*])
|
||||||
|
|
||||||
|
AM_CONDITIONAL(OPT_SIZE, test x"$acnewlib_cv_opt_size" = x"yes")
|
||||||
|
|
||||||
|
dnl Check for whether ARM_7 or ARM_ARCH_6T2 is defined.
|
||||||
|
dnl This macro is used to support memchr() for old CPU.
|
||||||
|
AC_CACHE_CHECK(whether armv7 processor is supported,
|
||||||
|
acnewlib_cv_armv7_processor, [dnl
|
||||||
|
cat > conftest.c <<EOF
|
||||||
|
|
||||||
|
#if defined (_ISA_ARM_7) || defined (__ARM_ARCH_6T2__)
|
||||||
|
#define HAVE_ARMV7
|
||||||
|
#else
|
||||||
|
#error "ARMV7 is not supported."
|
||||||
|
#endif
|
||||||
|
int main () {
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
EOF
|
||||||
|
if AC_TRY_COMMAND([${CC} $CFLAGS $CPPFLAGS -c -o conftest.o conftest.c
|
||||||
|
1>&AS_MESSAGE_LOG_FD])
|
||||||
|
then
|
||||||
|
acnewlib_cv_armv7_processor=yes;
|
||||||
|
else
|
||||||
|
acnewlib_cv_armv7_processor=no;
|
||||||
|
fi
|
||||||
|
rm -f conftest*])
|
||||||
|
|
||||||
|
AM_CONDITIONAL(HAVE_ARMV7, test x"$acnewlib_cv_armv7_processor" = x"yes")
|
||||||
|
|
||||||
|
dnl Check for whether ARM_ARCH_7A is defined.
|
||||||
|
AC_CACHE_CHECK(whether armv7a processor is supported,
|
||||||
|
acnewlib_cv_armv7a_processor, [dnl
|
||||||
|
cat > conftest.c <<EOF
|
||||||
|
|
||||||
|
#if defined (__ARM_ARCH_7A__) && defined (__ARM_FEATURE_UNALIGNED)
|
||||||
|
#define HAVE_ARMV7A
|
||||||
|
#else
|
||||||
|
#error "ARMV7A is not supported."
|
||||||
|
#endif
|
||||||
|
int main () {
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
EOF
|
||||||
|
if AC_TRY_COMMAND([${CC} $CFLAGS $CPPFLAGS -c -o conftest.o conftest.c
|
||||||
|
1>&AS_MESSAGE_LOG_FD])
|
||||||
|
then
|
||||||
|
acnewlib_cv_armv7a_processor=yes;
|
||||||
|
else
|
||||||
|
acnewlib_cv_armv7a_processor=no;
|
||||||
|
fi
|
||||||
|
rm -f conftest*])
|
||||||
|
|
||||||
|
AM_CONDITIONAL(HAVE_ARMV7A, test x"$acnewlib_cv_armv7a_processor" = x"yes")
|
||||||
|
|
||||||
|
dnl Check for whether ARM_ARCH_7M is defined.
|
||||||
|
AC_CACHE_CHECK(whether armv7m processor is supported,
|
||||||
|
acnewlib_cv_armv7m_processor, [dnl
|
||||||
|
cat > conftest.c <<EOF
|
||||||
|
|
||||||
|
#if defined (__ARM_ARCH_7M__) || defined (__ARM_ARCH_7EM__)
|
||||||
|
#define HAVE_ARMV7M
|
||||||
|
#else
|
||||||
|
#error "ARMV7M is not supported."
|
||||||
|
#endif
|
||||||
|
int main () {
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
EOF
|
||||||
|
if AC_TRY_COMMAND([${CC} $CFLAGS $CPPFLAGS -c -o conftest.o conftest.c
|
||||||
|
1>&AS_MESSAGE_LOG_FD])
|
||||||
|
then
|
||||||
|
acnewlib_cv_armv7m_processor=yes;
|
||||||
|
else
|
||||||
|
acnewlib_cv_armv7m_processor=no;
|
||||||
|
fi
|
||||||
|
rm -f conftest*])
|
||||||
|
|
||||||
|
AM_CONDITIONAL(HAVE_ARMV7M, test x"$acnewlib_cv_armv7m_processor" = x"yes")
|
||||||
|
|
||||||
|
AC_SUBST(CFLAGS)
|
||||||
|
|
||||||
AC_CONFIG_FILES([Makefile])
|
AC_CONFIG_FILES([Makefile])
|
||||||
AC_OUTPUT
|
AC_OUTPUT
|
||||||
|
@ -1,42 +0,0 @@
|
|||||||
/* Copyright (c) 2010-2011, Linaro Limited
|
|
||||||
All rights reserved.
|
|
||||||
|
|
||||||
Redistribution and use in source and binary forms, with or without
|
|
||||||
modification, are permitted provided that the following conditions
|
|
||||||
are met:
|
|
||||||
|
|
||||||
* Redistributions of source code must retain the above copyright
|
|
||||||
notice, this list of conditions and the following disclaimer.
|
|
||||||
|
|
||||||
* Redistributions in binary form must reproduce the above copyright
|
|
||||||
notice, this list of conditions and the following disclaimer in the
|
|
||||||
documentation and/or other materials provided with the distribution.
|
|
||||||
|
|
||||||
* Neither the name of Linaro Limited nor the names of its
|
|
||||||
contributors may be used to endorse or promote products derived
|
|
||||||
from this software without specific prior written permission.
|
|
||||||
|
|
||||||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
|
||||||
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
|
||||||
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
|
||||||
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
|
||||||
HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
|
||||||
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
|
||||||
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
|
||||||
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
|
||||||
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
|
||||||
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
|
||||||
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#include "arm_asm.h"
|
|
||||||
|
|
||||||
|
|
||||||
/* Note: This ifdef MUST match the one in memchr.S */
|
|
||||||
#if defined(_ISA_ARM_7) || defined(__ARM_ARCH_6T2__)
|
|
||||||
/* Do nothing - the memchr.S will get used */
|
|
||||||
#else
|
|
||||||
/* For an older CPU we just fall back to the .c code */
|
|
||||||
#include "../../string/memchr.c"
|
|
||||||
#endif
|
|
||||||
|
|
@ -164,5 +164,19 @@ memchr:
|
|||||||
pop {r4,r5,r6,r7}
|
pop {r4,r5,r6,r7}
|
||||||
subs r0,r0,#1
|
subs r0,r0,#1
|
||||||
bx lr
|
bx lr
|
||||||
|
#else
|
||||||
|
/* For an older CPU we just fall back to the .c code. */
|
||||||
|
|
||||||
|
/* Leave this field blank. So the memchr() is not defined, and this will
|
||||||
|
automatically pull in the default C definition of memchr() from
|
||||||
|
../../string/memchr.c. No need to include this file explicitely.
|
||||||
|
The lib_a-memchr.o will not be generated, so it won't replace the
|
||||||
|
default lib_a-memchr.o which is generated by ../../string/memchr.c.
|
||||||
|
See the commands in configure.in and Makefile.am for more details.
|
||||||
|
|
||||||
|
However, if we need to rewrite this function to be more efficient, we
|
||||||
|
can add the corresponding assembly code into this field and change the
|
||||||
|
commands in configure.in and Makefile.am to allow the corresponding
|
||||||
|
lib_a-memchr.o to be generated.
|
||||||
|
*/
|
||||||
#endif
|
#endif
|
||||||
|
@ -1,40 +0,0 @@
|
|||||||
/*
|
|
||||||
* Copyright (c) 2013 ARM Ltd
|
|
||||||
* All rights reserved.
|
|
||||||
*
|
|
||||||
* Redistribution and use in source and binary forms, with or without
|
|
||||||
* modification, are permitted provided that the following conditions
|
|
||||||
* are met:
|
|
||||||
* 1. Redistributions of source code must retain the above copyright
|
|
||||||
* notice, this list of conditions and the following disclaimer.
|
|
||||||
* 2. Redistributions in binary form must reproduce the above copyright
|
|
||||||
* notice, this list of conditions and the following disclaimer in the
|
|
||||||
* documentation and/or other materials provided with the distribution.
|
|
||||||
* 3. The name of the company may not be used to endorse or promote
|
|
||||||
* products derived from this software without specific prior written
|
|
||||||
* permission.
|
|
||||||
*
|
|
||||||
* THIS SOFTWARE IS PROVIDED BY ARM LTD ``AS IS'' AND ANY EXPRESS OR IMPLIED
|
|
||||||
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
|
||||||
* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
|
|
||||||
* IN NO EVENT SHALL ARM LTD BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
|
||||||
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
|
|
||||||
* TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
|
|
||||||
* PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
|
|
||||||
* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
|
|
||||||
* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
|
||||||
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
||||||
*/
|
|
||||||
|
|
||||||
/* The sole purpose of this file is to include the plain memcpy provided
|
|
||||||
in newlib. An optimized version of memcpy is provided in the assembly
|
|
||||||
file memcpy.S in this directory. */
|
|
||||||
#if (defined (__OPTIMIZE_SIZE__) || defined (PREFER_SIZE_OVER_SPEED) || \
|
|
||||||
(!((defined (__ARM_ARCH_7A__) && defined (__ARM_FEATURE_UNALIGNED)) \
|
|
||||||
|| defined (__ARM_ARCH_7EM__) || defined (__ARM_ARCH_7M__))))
|
|
||||||
|
|
||||||
#include "../../string/memcpy.c"
|
|
||||||
|
|
||||||
#else
|
|
||||||
/* Do nothing. See memcpy.S in this directory. */
|
|
||||||
#endif
|
|
@ -27,7 +27,19 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
#if defined (__OPTIMIZE_SIZE__) || defined (PREFER_SIZE_OVER_SPEED)
|
#if defined (__OPTIMIZE_SIZE__) || defined (PREFER_SIZE_OVER_SPEED)
|
||||||
/* Do nothing here. See memcpy-stub.c in the same directory. */
|
/* Leave this field blank. So the memcpy() is not defined, and this will
|
||||||
|
automatically pull in the default C definition of memcpy() from
|
||||||
|
../../string/memcpy.c. No need to include this file explicitely.
|
||||||
|
The lib_a-memcpy.o will not be generated, so it won't replace the default
|
||||||
|
lib_a-memcpy.o which is generated by ../../string/memcpy.c.
|
||||||
|
See the commands in configure.in and Makefile.am for more details.
|
||||||
|
|
||||||
|
However, if we need to rewrite this function to be more efficient, we
|
||||||
|
can add the corresponding assembly code into this field and change the
|
||||||
|
commands in configure.in and Makefile.am to allow the corresponding
|
||||||
|
lib_a-memcpy.o to be generated.
|
||||||
|
*/
|
||||||
|
|
||||||
#elif defined (__ARM_ARCH_7A__) && defined (__ARM_FEATURE_UNALIGNED)
|
#elif defined (__ARM_ARCH_7A__) && defined (__ARM_FEATURE_UNALIGNED)
|
||||||
#include "memcpy-armv7a.S"
|
#include "memcpy-armv7a.S"
|
||||||
|
|
||||||
@ -35,5 +47,5 @@
|
|||||||
#include "memcpy-armv7m.S"
|
#include "memcpy-armv7m.S"
|
||||||
|
|
||||||
#else
|
#else
|
||||||
/* Do nothing here. See memcpy-stub.c in the same directory. */
|
/* Leave this filed blank. See the commands above. */
|
||||||
#endif
|
#endif
|
||||||
|
@ -64,8 +64,27 @@
|
|||||||
|| (__ARM_ARCH == 6 && __ARM_ARCH_PROFILE == 'M')
|
|| (__ARM_ARCH == 6 && __ARM_ARCH_PROFILE == 'M')
|
||||||
|
|
||||||
# if defined (__thumb__) && !defined (__thumb2__)
|
# if defined (__thumb__) && !defined (__thumb2__)
|
||||||
/* Thumb1 only variant. */
|
/* Thumb1 only variant. If size is preferred, use strcmp-armv4t.S.
|
||||||
# include "strcmp-armv4t.S"
|
If speed is preferred, the strcmp function in ../../string/strcmp.c
|
||||||
|
will be used. */
|
||||||
|
|
||||||
|
# if defined (__OPTIMIZE_SIZE__) || defined (PREFER_SIZE_OVER_SPEED)
|
||||||
|
# include "strcmp-armv4t.S"
|
||||||
|
# else
|
||||||
|
/* Leave this field blank. So the strcmp() is not defined, and this will
|
||||||
|
automatically pull in the default C definition of strcmp() from
|
||||||
|
../../string/strcmp.c. No need to include this file explicitely.
|
||||||
|
The lib_a-strcmp.o will not be generated, so it won't replace the
|
||||||
|
default lib_a-strcmp.o which is generated by ../../string/strcmp.c.
|
||||||
|
See the commands in configure.in and Makefile.am for more details.
|
||||||
|
|
||||||
|
However, if we need to rewrite this function to be more efficient,
|
||||||
|
we can add the corresponding assembly code into this field and
|
||||||
|
change the commands in configure.in and Makefile.am to allow the
|
||||||
|
corresponding lib_a-strcmp.o to be generated.
|
||||||
|
*/
|
||||||
|
# endif
|
||||||
|
|
||||||
# else
|
# else
|
||||||
# include "strcmp-arm-tiny.S"
|
# include "strcmp-arm-tiny.S"
|
||||||
# endif
|
# endif
|
||||||
|
@ -34,6 +34,24 @@
|
|||||||
#if defined (__OPTIMIZE_SIZE__) || defined (PREFER_SIZE_OVER_SPEED) || \
|
#if defined (__OPTIMIZE_SIZE__) || defined (PREFER_SIZE_OVER_SPEED) || \
|
||||||
(defined (__thumb__) && !defined (__thumb2__))
|
(defined (__thumb__) && !defined (__thumb2__))
|
||||||
|
|
||||||
|
# if !defined (PREFER_SIZE_OVER_SPEED) && !defined (__OPTIMIZE_SIZE__)
|
||||||
|
/* Thumb1 only variant.
|
||||||
|
If speed is preferred, the strlen() function in ../../string/strlen.c
|
||||||
|
will be used.
|
||||||
|
|
||||||
|
Leave this field blank. So the strlen() is not defined, and this will
|
||||||
|
automatically pull in the default C definition of strlen() from
|
||||||
|
../../string/strlen.c. No need to include this file explicitely.
|
||||||
|
The lib_a-strlen.o will not be generated, so it won't replace the default
|
||||||
|
lib_a-strlen.o which is generated by ../../string/strlen.c. See the
|
||||||
|
commands in configure.in and Makefile.am for more details.
|
||||||
|
|
||||||
|
However, if we need to rewrite this function to be more efficient,
|
||||||
|
we can add the corresponding assembly code into this field and change
|
||||||
|
the commands in configure.in and Makefile.am to allow the corresponding
|
||||||
|
lib_a-strlen.o to be generated.
|
||||||
|
*/
|
||||||
|
# else
|
||||||
size_t
|
size_t
|
||||||
strlen (const char* str)
|
strlen (const char* str)
|
||||||
{
|
{
|
||||||
@ -43,7 +61,7 @@ strlen (const char* str)
|
|||||||
asm ("mov %0, #0\n"
|
asm ("mov %0, #0\n"
|
||||||
"1:\n\t"
|
"1:\n\t"
|
||||||
"ldrb %1, [%2, %0]\n\t"
|
"ldrb %1, [%2, %0]\n\t"
|
||||||
"add %0, %0, #1\n\t"
|
"add %0, %0, #1\n\t"
|
||||||
"cmp %1, #0\n\t"
|
"cmp %1, #0\n\t"
|
||||||
"bne 1b"
|
"bne 1b"
|
||||||
: "=&r" (len), "=&r" (scratch) : "r" (str) : "memory", "cc");
|
: "=&r" (len), "=&r" (scratch) : "r" (str) : "memory", "cc");
|
||||||
@ -58,6 +76,7 @@ strlen (const char* str)
|
|||||||
return end - str - 1;
|
return end - str - 1;
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
#else
|
#else
|
||||||
|
|
||||||
#if !(defined(_ISA_ARM_7) || defined(__ARM_ARCH_6T2__))
|
#if !(defined(_ISA_ARM_7) || defined(__ARM_ARCH_6T2__))
|
||||||
|
Loading…
x
Reference in New Issue
Block a user