commit 8b3b797a2474a56c72f4c0f190910aeb320943be
parent a312efcf46527321f1a87033214c752a6bdda62e
Author: Roberto E. Vargas Caballero <k0ga@shike2.com>
Date: Tue, 21 Jan 2020 22:28:08 +0100
libc: Move mem* functions to arch directory
Moving these functions to the architecture allows to introduce
optmized versions of these function, because at this moment
they are usable as they are implemented using commmon C funcions.
Diffstat:
25 files changed, 82 insertions(+), 10 deletions(-)
diff --git a/src/libc/arch/amd64/Makefile b/src/libc/arch/amd64/Makefile
@@ -3,8 +3,21 @@ PROJECTDIR =../../../..
include $(PROJECTDIR)/scripts/rules.mk
include ../../rules.mk
-OBJS = longjmp.$O setjmp.$O
-DIRS = netbsd openbsd dragonfly linux darwin
+OBJS =\
+ longjmp.$O\
+ setjmp.$O\
+ memchr.$O\
+ memcmp.$O\
+ memcpy.$O\
+ memmove.$O\
+ memset.$O\
+
+DIRS =\
+ netbsd\
+ openbsd\
+ dragonfly\
+ linux\
+ darwin\
all: $(LIBC) $(SYS)
diff --git a/src/libc/arch/amd64/memchr.c b/src/libc/arch/amd64/memchr.c
@@ -0,0 +1 @@
+#include "../../string/memchr.c"
+\ No newline at end of file
diff --git a/src/libc/arch/amd64/memcmp.c b/src/libc/arch/amd64/memcmp.c
@@ -0,0 +1 @@
+#include "../../string/memcmp.c"
+\ No newline at end of file
diff --git a/src/libc/arch/amd64/memcpy.c b/src/libc/arch/amd64/memcpy.c
@@ -0,0 +1 @@
+#include "../../string/memcpy.c"
+\ No newline at end of file
diff --git a/src/libc/arch/amd64/memmove.c b/src/libc/arch/amd64/memmove.c
@@ -0,0 +1 @@
+#include "../../string/memmove.c"
+\ No newline at end of file
diff --git a/src/libc/arch/amd64/memset.c b/src/libc/arch/amd64/memset.c
@@ -0,0 +1 @@
+#include "../../string/memset.c"
+\ No newline at end of file
diff --git a/src/libc/arch/arm32/Makefile b/src/libc/arch/arm32/Makefile
@@ -3,7 +3,15 @@ PROJECTDIR =../../../..
include $(PROJECTDIR)/scripts/rules.mk
include ../../rules.mk
-OBJS = longjmp.$O setjmp.$O
+OBJS =\
+ longjmp.$O\
+ setjmp.$O\
+ memchr.$O\
+ memcmp.$O\
+ memcpy.$O\
+ memmove.$O\
+ memset.$O\
+
DIRS = linux
all: $(LIBC) $(SYS)
diff --git a/src/libc/arch/arm32/memchr.c b/src/libc/arch/arm32/memchr.c
@@ -0,0 +1 @@
+#include "../../string/memchr.c"
+\ No newline at end of file
diff --git a/src/libc/arch/arm32/memcmp.c b/src/libc/arch/arm32/memcmp.c
@@ -0,0 +1 @@
+#include "../../string/memcmp.c"
+\ No newline at end of file
diff --git a/src/libc/arch/arm32/memcpy.c b/src/libc/arch/arm32/memcpy.c
@@ -0,0 +1 @@
+#include "../../string/memcpy.c"
+\ No newline at end of file
diff --git a/src/libc/arch/arm32/memmove.c b/src/libc/arch/arm32/memmove.c
@@ -0,0 +1 @@
+#include "../../string/memmove.c"
+\ No newline at end of file
diff --git a/src/libc/arch/arm32/memset.c b/src/libc/arch/arm32/memset.c
@@ -0,0 +1 @@
+#include "../../string/memset.c"
+\ No newline at end of file
diff --git a/src/libc/arch/arm64/Makefile b/src/libc/arch/arm64/Makefile
@@ -3,7 +3,15 @@ PROJECTDIR =../../../..
include $(PROJECTDIR)/scripts/rules.mk
include ../../rules.mk
-OBJS = longjmp.$O setjmp.$O
+OBJS =\
+ longjmp.$O\
+ setjmp.$O\
+ memchr.$O\
+ memcmp.$O\
+ memcpy.$O\
+ memmove.$O\
+ memset.$O\
+
DIRS = linux
all: $(LIBC) $(SYS)
diff --git a/src/libc/arch/arm64/memchr.c b/src/libc/arch/arm64/memchr.c
@@ -0,0 +1 @@
+#include "../../string/memchr.c"
+\ No newline at end of file
diff --git a/src/libc/arch/arm64/memcmp.c b/src/libc/arch/arm64/memcmp.c
@@ -0,0 +1 @@
+#include "../../string/memcmp.c"
+\ No newline at end of file
diff --git a/src/libc/arch/arm64/memcpy.c b/src/libc/arch/arm64/memcpy.c
@@ -0,0 +1 @@
+#include "../../string/memcpy.c"
+\ No newline at end of file
diff --git a/src/libc/arch/arm64/memmove.c b/src/libc/arch/arm64/memmove.c
@@ -0,0 +1 @@
+#include "../../string/memmove.c"
+\ No newline at end of file
diff --git a/src/libc/arch/arm64/memset.c b/src/libc/arch/arm64/memset.c
@@ -0,0 +1 @@
+#include "../../string/memset.c"
+\ No newline at end of file
diff --git a/src/libc/arch/i386/Makefile b/src/libc/arch/i386/Makefile
@@ -3,7 +3,15 @@ PROJECTDIR =../../../..
include $(PROJECTDIR)/scripts/rules.mk
include ../../rules.mk
-OBJS = longjmp.$O setjmp.$O
+OBJS =\
+ longjmp.$O\
+ setjmp.$O\
+ memchr.$O\
+ memcmp.$O\
+ memcpy.$O\
+ memmove.$O\
+ memset.$O\
+
DIRS = linux
all: $(LIBC) $(SYS)
diff --git a/src/libc/arch/i386/memchr.c b/src/libc/arch/i386/memchr.c
@@ -0,0 +1 @@
+#include "../../string/memchr.c"
+\ No newline at end of file
diff --git a/src/libc/arch/i386/memcmp.c b/src/libc/arch/i386/memcmp.c
@@ -0,0 +1 @@
+#include "../../string/memcmp.c"
+\ No newline at end of file
diff --git a/src/libc/arch/i386/memcpy.c b/src/libc/arch/i386/memcpy.c
@@ -0,0 +1 @@
+#include "../../../string/memcpy.c"
+\ No newline at end of file
diff --git a/src/libc/arch/i386/memmove.c b/src/libc/arch/i386/memmove.c
@@ -0,0 +1 @@
+#include "../../string/memmove.c"
+\ No newline at end of file
diff --git a/src/libc/arch/i386/memset.c b/src/libc/arch/i386/memset.c
@@ -0,0 +1 @@
+#include "../../string/memset.c"
+\ No newline at end of file
diff --git a/src/libc/string/Makefile b/src/libc/string/Makefile
@@ -4,11 +4,6 @@ include $(PROJECTDIR)/scripts/rules.mk
include ../rules.mk
OBJS = \
- memchr.$O\
- memcmp.$O\
- memcpy.$O\
- memmove.$O\
- memset.$O\
strcat.$O\
strchr.$O\
strcmp.$O\