FORTIFY_SOURCE: restore __memcpy_chk()

In our previous FORTIFY_SOURCE change, we started using a custom
inline for memcpy(), rather than using GCC's __builtin_memcpy_chk().
This allowed us to delete our copy of __memcpy_chk(), and replace it
by __memcpy_chk2().

Apparently GCC uses __memcpy_chk() outside of __builtin_memcpy_chk().
Specifically, __memcpy_chk() is used by __builtin__memMOVE_chk() under
certain optimization levels.

Keep the old __memcpy_chk() function around, and have it call into
__memcpy_chk2().

Change-Id: I2453930b24b8a492a3b6ed860e18d92a6b762b80
diff --git a/libc/string/__memcpy_chk.c b/libc/string/__memcpy_chk.c
index 60fa427..934ed67 100644
--- a/libc/string/__memcpy_chk.c
+++ b/libc/string/__memcpy_chk.c
@@ -70,3 +70,13 @@
 
     return memcpy(dest, src, copy_amount);
 }
+
+/*
+ * GCC can create references to __memcpy_chk when using
+ * __builtin__memmove_chk().
+ */
+void *__memcpy_chk(void *dest, const void *src,
+              size_t copy_amount, size_t dest_len)
+{
+    return __memcpy_chk2(dest, src, copy_amount, dest_len, (size_t) -1);
+}