diff --git a/payloads/libpayload/libc/memory.c b/payloads/libpayload/libc/memory.c
index 4757b10..5af8538 100644
--- a/payloads/libpayload/libc/memory.c
+++ b/payloads/libpayload/libc/memory.c
@@ -34,6 +34,9 @@
 #include <libpayload.h>
 
 void *memset(void *s, int c, size_t n)
+	__attribute__((weak, alias("default_memset")));
+
+void *default_memset(void *s, int c, size_t n)
 {
 	char *os = s;
 
@@ -44,6 +47,9 @@
 }
 
 void *memcpy(void *dst, const void *src, size_t n)
+	__attribute__((weak, alias("default_memcpy")));
+
+void *default_memcpy(void *dst, const void *src, size_t n)
 {
 	int i;
 	void *ret = dst;
@@ -62,6 +68,9 @@
 }
 
 void *memmove(void *dst, const void *src, size_t n)
+	__attribute__((weak, alias("default_memmove")));
+
+void *default_memmove(void *dst, const void *src, size_t n)
 {
 	int i;
 	unsigned long offs;
@@ -90,7 +99,11 @@
  * @return If len is 0, return zero. If the areas match, return zero.
  *         Otherwise return non-zero.
  */
+
 int memcmp(const void *s1, const void *s2, size_t len)
+	__attribute__((weak, alias("default_memcmp")));
+
+int default_memcmp(const void *s1, const void *s2, size_t len)
 {
 	for (; len && *(char *)s1++ == *(char *)s2++; len--) ;
 	return len;
