summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/libgcc/implicit.c26
-rw-r--r--src/libgcc/memcpy.c18
2 files changed, 26 insertions, 18 deletions
diff --git a/src/libgcc/implicit.c b/src/libgcc/implicit.c
new file mode 100644
index 00000000..645ae6d2
--- /dev/null
+++ b/src/libgcc/implicit.c
@@ -0,0 +1,26 @@
+/** @file
+ *
+ * gcc sometimes likes to insert implicit calls to memcpy() and
+ * memset(). Unfortunately, there doesn't seem to be any way to
+ * prevent it from doing this, or to force it to use the optimised
+ * versions as seen by C code; it insists on inserting symbol
+ * references to "memcpy" and "memset". We therefore include wrapper
+ * functions just to keep gcc happy.
+ *
+ */
+
+#include <string.h>
+
+void * gcc_implicit_memcpy ( void *dest, const void *src,
+ size_t len ) asm ( "memcpy" );
+
+void * gcc_implicit_memcpy ( void *dest, const void *src, size_t len ) {
+ return memcpy ( dest, src, len );
+}
+
+void * gcc_implicit_memset ( void *dest, int character,
+ size_t len ) asm ( "memset" );
+
+void * gcc_implicit_memset ( void *dest, int character, size_t len ) {
+ return memset ( dest, character, len );
+}
diff --git a/src/libgcc/memcpy.c b/src/libgcc/memcpy.c
deleted file mode 100644
index e98b7838..00000000
--- a/src/libgcc/memcpy.c
+++ /dev/null
@@ -1,18 +0,0 @@
-/** @file
- *
- * gcc sometimes likes to insert implicit calls to memcpy().
- * Unfortunately, there doesn't seem to be any way to prevent it from
- * doing this, or to force it to use the optimised memcpy() as seen by
- * C code; it insists on inserting a symbol reference to "memcpy". We
- * therefore include wrapper functions just to keep gcc happy.
- *
- */
-
-#include <string.h>
-
-void * gcc_implicit_memcpy ( void *dest, const void *src,
- size_t len ) asm ( "memcpy" );
-
-void * gcc_implicit_memcpy ( void *dest, const void *src, size_t len ) {
- return memcpy ( dest, src, len );
-}