From e6099098a5fcf92c4205718ff505e784aeeaae70 Mon Sep 17 00:00:00 2001
From: Elliott Hughes <enh@google.com>
Date: Tue, 27 Jan 2015 11:09:27 -0800
Subject: [PATCH] Fix mips build.

Move various mips-only things into the arch-mips directory. As soon as mips
writes assembler replacements, we can remove these.

Change-Id: Ia7308559bc361f5c8df3e1d456b381865e060b93
---
 libc/arch-mips/mips.mk                                 | 10 ++++------
 libc/{bionic => arch-mips/string}/memcmp.c             |  0
 .../lib/libc => arch-mips}/string/memcpy.c             |  8 --------
 libc/{bionic => arch-mips/string}/memset.c             |  0
 .../lib/libc => arch-mips}/string/strlen.c             |  0
 libc/arch-mips64/mips64.mk                             |  8 ++++----
 6 files changed, 8 insertions(+), 18 deletions(-)
 rename libc/{bionic => arch-mips/string}/memcmp.c (100%)
 rename libc/{upstream-openbsd/lib/libc => arch-mips}/string/memcpy.c (93%)
 rename libc/{bionic => arch-mips/string}/memset.c (100%)
 rename libc/{upstream-openbsd/lib/libc => arch-mips}/string/strlen.c (100%)

diff --git a/libc/arch-mips/mips.mk b/libc/arch-mips/mips.mk
index 034633e95..7f36635fc 100644
--- a/libc/arch-mips/mips.mk
+++ b/libc/arch-mips/mips.mk
@@ -23,12 +23,12 @@ libc_openbsd_src_files_mips += \
 #
 
 libc_bionic_src_files_mips += \
+    arch-mips/string/memcmp.c \
     bionic/__memcpy_chk.cpp \
     bionic/__memset_chk.cpp \
     bionic/__strcpy_chk.cpp \
     bionic/__strcat_chk.cpp \
     bionic/memchr.c \
-    bionic/memcmp.c \
     bionic/memrchr.c \
     bionic/strchr.cpp \
     bionic/strnlen.c \
@@ -78,11 +78,9 @@ libc_bionic_src_files_mips += \
 
 else
 libc_bionic_src_files_mips += \
-    bionic/memset.c \
-
-libc_openbsd_src_files_mips += \
-    upstream-openbsd/lib/libc/string/memcpy.c \
-    upstream-openbsd/lib/libc/string/strlen.c \
+    arch-mips/string/memcpy.c \
+    arch-mips/string/memset.c \
+    arch-mips/string/strlen.c \
 
 endif
 
diff --git a/libc/bionic/memcmp.c b/libc/arch-mips/string/memcmp.c
similarity index 100%
rename from libc/bionic/memcmp.c
rename to libc/arch-mips/string/memcmp.c
diff --git a/libc/upstream-openbsd/lib/libc/string/memcpy.c b/libc/arch-mips/string/memcpy.c
similarity index 93%
rename from libc/upstream-openbsd/lib/libc/string/memcpy.c
rename to libc/arch-mips/string/memcpy.c
index 1b9715e47..5551a6dd6 100644
--- a/libc/upstream-openbsd/lib/libc/string/memcpy.c
+++ b/libc/arch-mips/string/memcpy.c
@@ -57,14 +57,6 @@ memcpy(void *dst0, const void *src0, size_t length)
 	if (length == 0 || dst == src)		/* nothing to do */
 		goto done;
 
-	if ((dst < src && dst + length > src) ||
-	    (src < dst && src + length > dst)) {
-		struct syslog_data sdata = SYSLOG_DATA_INIT;
-
-		syslog_r(LOG_CRIT, &sdata, "backwards memcpy");
-		abort();
-	}
-
 	/*
 	 * Macros: loop-t-times; and loop-t-times, t>0
 	 */
diff --git a/libc/bionic/memset.c b/libc/arch-mips/string/memset.c
similarity index 100%
rename from libc/bionic/memset.c
rename to libc/arch-mips/string/memset.c
diff --git a/libc/upstream-openbsd/lib/libc/string/strlen.c b/libc/arch-mips/string/strlen.c
similarity index 100%
rename from libc/upstream-openbsd/lib/libc/string/strlen.c
rename to libc/arch-mips/string/strlen.c
diff --git a/libc/arch-mips64/mips64.mk b/libc/arch-mips64/mips64.mk
index 26733cb49..7990c6977 100644
--- a/libc/arch-mips64/mips64.mk
+++ b/libc/arch-mips64/mips64.mk
@@ -10,12 +10,14 @@ libc_bionic_src_files_mips64 += \
     bionic/__strcpy_chk.cpp \
     bionic/__strcat_chk.cpp \
     bionic/memchr.c \
-    bionic/memcmp.c \
     bionic/memrchr.c \
-    bionic/memset.c \
     bionic/strchr.cpp \
     bionic/strnlen.c \
     bionic/strrchr.cpp \
+    arch-mips/string/memcmp.c \
+    arch-mips/string/memcpy.c \
+    arch-mips/string/memset.c \
+    arch-mips/string/strlen.c \
 
 libc_freebsd_src_files_mips64 += \
     upstream-freebsd/lib/libc/string/wcscat.c \
@@ -28,7 +30,6 @@ libc_freebsd_src_files_mips64 += \
     upstream-freebsd/lib/libc/string/wmemmove.c \
 
 libc_openbsd_src_files_mips64 += \
-    upstream-openbsd/lib/libc/string/memcpy.c \
     upstream-openbsd/lib/libc/string/memmove.c \
     upstream-openbsd/lib/libc/string/stpcpy.c \
     upstream-openbsd/lib/libc/string/stpncpy.c \
@@ -37,7 +38,6 @@ libc_openbsd_src_files_mips64 += \
     upstream-openbsd/lib/libc/string/strcpy.c \
     upstream-openbsd/lib/libc/string/strlcat.c \
     upstream-openbsd/lib/libc/string/strlcpy.c \
-    upstream-openbsd/lib/libc/string/strlen.c \
     upstream-openbsd/lib/libc/string/strncat.c \
     upstream-openbsd/lib/libc/string/strncmp.c \
     upstream-openbsd/lib/libc/string/strncpy.c \