Make all memory functions have weak linkage so that they can be overridden with
custom memory-management implementations (e.g., bash).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10478 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/runtime/GCCLibraries/libc/memory.c b/runtime/GCCLibraries/libc/memory.c
index 560c6da..a839832 100644
--- a/runtime/GCCLibraries/libc/memory.c
+++ b/runtime/GCCLibraries/libc/memory.c
@@ -6,9 +6,10 @@
#include <stdlib.h>
-void *malloc(size_t);
-void free(void *);
-void *memset(void *, int, size_t);
+void *malloc(size_t) __attribute__((weak));
+void free(void *) __attribute__((weak));
+void *memset(void *, int, size_t) __attribute__((weak));
+void *calloc(size_t nelem, size_t elsize) __attribute__((weak));
void *calloc(size_t nelem, size_t elsize) {
void *Result = malloc(nelem*elsize);