commit cbf1264ca6d508d413891030a5aa99261693dc07
parent a8c0229b8ae756c5fee352cd4490c788d87b30d5
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\