diff options
author | Kazu Hirata <kazu@codesourcery.com> | 2006-05-04 21:15:00 +0400 |
---|---|---|
committer | Kazu Hirata <kazu@codesourcery.com> | 2006-05-04 21:15:00 +0400 |
commit | 998982571e2dd30da4a157974f6c67a526d249f3 (patch) | |
tree | fed9fae5ff63da958021b4915c4cf3193081bee8 | |
parent | 79470d2462499241c9cca3275da5635bcec05121 (diff) |
* libc/sys/arm/Makefile.am (lib_a_SOURCES): Add aeabi_memclr.c,newlib-csl-sourcerygxx-4_1-5newlib-csl-sourcerygxx-4_1-4
aeabi_memcpy.c, aeabi_memmove.c and aeabi_memset.c.
* libc/sys/arm/Makefile.in: Regenerate.
* libc/sys/arm/aeabi.h: New file.
* libc/sys/arm/aeabi_memclr.c: New file.
* libc/sys/arm/aeabi_memcpy.c: New file.
* libc/sys/arm/aeabi_memmove.c: New file.
* libc/sys/arm/aeabi_memset.c: New file.
-rw-r--r-- | ChangeLog.csl | 11 | ||||
-rw-r--r-- | newlib/libc/sys/arm/Makefile.am | 3 | ||||
-rw-r--r-- | newlib/libc/sys/arm/Makefile.in | 6 | ||||
-rw-r--r-- | newlib/libc/sys/arm/aeabi.h | 7 | ||||
-rw-r--r-- | newlib/libc/sys/arm/aeabi_memclr.c | 13 | ||||
-rw-r--r-- | newlib/libc/sys/arm/aeabi_memcpy.c | 13 | ||||
-rw-r--r-- | newlib/libc/sys/arm/aeabi_memmove.c | 13 | ||||
-rw-r--r-- | newlib/libc/sys/arm/aeabi_memset.c | 14 |
8 files changed, 77 insertions, 3 deletions
diff --git a/ChangeLog.csl b/ChangeLog.csl index 7b2a91b0a..704f8abcf 100644 --- a/ChangeLog.csl +++ b/ChangeLog.csl @@ -1,3 +1,14 @@ +2006-05-04 Paul Brook <paul@codesourcery.com> + + * libc/sys/arm/Makefile.am (lib_a_SOURCES): Add aeabi_memclr.c, + aeabi_memcpy.c, aeabi_memmove.c and aeabi_memset.c. + * libc/sys/arm/Makefile.in: Regenerate. + * libc/sys/arm/aeabi.h: New file. + * libc/sys/arm/aeabi_memclr.c: New file. + * libc/sys/arm/aeabi_memcpy.c: New file. + * libc/sys/arm/aeabi_memmove.c: New file. + * libc/sys/arm/aeabi_memset.c: New file. + 2006-03-29 Nathan Sidwell <nathan@codesourcery.com> * libgloss/m68k/bdm-isv.c (software_init_hook): Fix trap numbering. diff --git a/newlib/libc/sys/arm/Makefile.am b/newlib/libc/sys/arm/Makefile.am index 96da666c7..ec1ac7f53 100644 --- a/newlib/libc/sys/arm/Makefile.am +++ b/newlib/libc/sys/arm/Makefile.am @@ -12,7 +12,8 @@ else extra_objs = endif -lib_a_SOURCES = aeabi_atexit.c +lib_a_SOURCES = aeabi_atexit.c aeabi_memclr.c aeabi_memcpy.c \ + aeabi_memmove.c aeabi_memset.c lib_a_LIBADD = $(extra_objs) lib_a_DEPENDENCIES = $(extra_objs) diff --git a/newlib/libc/sys/arm/Makefile.in b/newlib/libc/sys/arm/Makefile.in index bbe3f0dab..c5d8c4c41 100644 --- a/newlib/libc/sys/arm/Makefile.in +++ b/newlib/libc/sys/arm/Makefile.in @@ -91,7 +91,8 @@ noinst_LIBRARIES = lib.a @MAY_SUPPLY_SYSCALLS_TRUE@extra_objs = @MAY_SUPPLY_SYSCALLS_TRUE@libcfunc.o trap.o syscalls.o _exit.o _nmi_isr.o _fault_isr.o @MAY_SUPPLY_SYSCALLS_FALSE@extra_objs = -lib_a_SOURCES = aeabi_atexit.c +lib_a_SOURCES = aeabi_atexit.c aeabi_memclr.c aeabi_memcpy.c aeabi_memmove.c aeabi_memset.c + lib_a_LIBADD = $(extra_objs) lib_a_DEPENDENCIES = $(extra_objs) @@ -106,7 +107,8 @@ LIBRARIES = $(noinst_LIBRARIES) DEFS = @DEFS@ -I. -I$(srcdir) CPPFLAGS = @CPPFLAGS@ LIBS = @LIBS@ -lib_a_OBJECTS = aeabi_atexit.o +lib_a_OBJECTS = aeabi_atexit.o aeabi_memclr.o aeabi_memcpy.o \ +aeabi_memmove.o aeabi_memset.o CFLAGS = @CFLAGS@ COMPILE = $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) CCLD = $(CC) diff --git a/newlib/libc/sys/arm/aeabi.h b/newlib/libc/sys/arm/aeabi.h new file mode 100644 index 000000000..1ce871178 --- /dev/null +++ b/newlib/libc/sys/arm/aeabi.h @@ -0,0 +1,7 @@ +/* Include file with common definitions used by The Arm EABI support + routines. */ + +# define strong_alias(name, aliasname) _strong_alias(name, aliasname) +# define _strong_alias(name, aliasname) \ + extern __typeof (name) aliasname __attribute__ ((alias (#name))); + diff --git a/newlib/libc/sys/arm/aeabi_memclr.c b/newlib/libc/sys/arm/aeabi_memclr.c new file mode 100644 index 000000000..179a7b290 --- /dev/null +++ b/newlib/libc/sys/arm/aeabi_memclr.c @@ -0,0 +1,13 @@ +#include <string.h> +#include "aeabi.h" + +/* Clear memory. */ +void +__aeabi_memclr (void *dest, size_t n) +{ + memset (dest, 0, n); +} + +/* Versions of the above which may assume memory alignment. */ +strong_alias (__aeabi_memclr, __aeabi_memclr4) +strong_alias (__aeabi_memclr, __aeabi_memclr8) diff --git a/newlib/libc/sys/arm/aeabi_memcpy.c b/newlib/libc/sys/arm/aeabi_memcpy.c new file mode 100644 index 000000000..518830eab --- /dev/null +++ b/newlib/libc/sys/arm/aeabi_memcpy.c @@ -0,0 +1,13 @@ +#include <string.h> +#include "aeabi.h" + +/* Copy memory like memcpy, but no return value required. */ +void +__aeabi_memcpy (void *dest, const void *src, size_t n) +{ + memcpy (dest, src, n); +} + +/* Versions of the above which may assume memory alignment. */ +strong_alias (__aeabi_memcpy, __aeabi_memcpy4) +strong_alias (__aeabi_memcpy, __aeabi_memcpy8) diff --git a/newlib/libc/sys/arm/aeabi_memmove.c b/newlib/libc/sys/arm/aeabi_memmove.c new file mode 100644 index 000000000..f80cd3a4a --- /dev/null +++ b/newlib/libc/sys/arm/aeabi_memmove.c @@ -0,0 +1,13 @@ +#include <string.h> +#include "aeabi.h" + +/* Copy memory like memmove, but no return value required. */ +void +__aeabi_memmove (void *dest, const void *src, size_t n) +{ + memmove (dest, src, n); +} + +/* Versions of the above which may assume memory alignment. */ +strong_alias (__aeabi_memmove, __aeabi_memmove4) +strong_alias (__aeabi_memmove, __aeabi_memmove8) diff --git a/newlib/libc/sys/arm/aeabi_memset.c b/newlib/libc/sys/arm/aeabi_memset.c new file mode 100644 index 000000000..69582d34d --- /dev/null +++ b/newlib/libc/sys/arm/aeabi_memset.c @@ -0,0 +1,14 @@ +#include <string.h> +#include "aeabi.h" + +/* Set memory like memset, but different argument order and no return + value required. */ +void +__aeabi_memset (void *dest, size_t n, int c) +{ + memset (dest, c, n); +} + +/* Versions of the above which may assume memory alignment. */ +strong_alias (__aeabi_memset, __aeabi_memset4) +strong_alias (__aeabi_memset, __aeabi_memset8) |