Welcome to mirror list, hosted at ThFree Co, Russian Federation.

cygwin.com/git/newlib-cygwin.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKazu Hirata <kazu@codesourcery.com>2006-05-04 21:15:00 +0400
committerKazu Hirata <kazu@codesourcery.com>2006-05-04 21:15:00 +0400
commit998982571e2dd30da4a157974f6c67a526d249f3 (patch)
treefed9fae5ff63da958021b4915c4cf3193081bee8
parent79470d2462499241c9cca3275da5635bcec05121 (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.csl11
-rw-r--r--newlib/libc/sys/arm/Makefile.am3
-rw-r--r--newlib/libc/sys/arm/Makefile.in6
-rw-r--r--newlib/libc/sys/arm/aeabi.h7
-rw-r--r--newlib/libc/sys/arm/aeabi_memclr.c13
-rw-r--r--newlib/libc/sys/arm/aeabi_memcpy.c13
-rw-r--r--newlib/libc/sys/arm/aeabi_memmove.c13
-rw-r--r--newlib/libc/sys/arm/aeabi_memset.c14
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)