Fix _recalloc redefinition link error in ASan RTL
authorReid Kleckner <rnk@google.com>
Tue, 11 Oct 2016 23:13:13 +0000 (23:13 +0000)
committerReid Kleckner <rnk@google.com>
Tue, 11 Oct 2016 23:13:13 +0000 (23:13 +0000)
Fixes PR30329

Patch by Hans-Bernhard Broeker!

llvm-svn: 283955

compiler-rt/lib/asan/asan_malloc_win.cc

index 4a233df..05148d5 100644 (file)
@@ -125,6 +125,11 @@ void *_recalloc(void *p, size_t n, size_t elem_size) {
 }
 
 ALLOCATION_FUNCTION_ATTRIBUTE
+void *_recalloc_base(void *p, size_t n, size_t elem_size) {
+  return _recalloc(p, n, elem_size);
+}
+
+ALLOCATION_FUNCTION_ATTRIBUTE
 size_t _msize(const void *ptr) {
   GET_CURRENT_PC_BP_SP;
   (void)sp;
@@ -223,6 +228,7 @@ void ReplaceSystemMalloc() {
   TryToOverrideFunction("_realloc_base", (uptr)realloc);
   TryToOverrideFunction("_realloc_crt", (uptr)realloc);
   TryToOverrideFunction("_recalloc", (uptr)_recalloc);
+  TryToOverrideFunction("_recalloc_base", (uptr)_recalloc);
   TryToOverrideFunction("_recalloc_crt", (uptr)_recalloc);
   TryToOverrideFunction("_msize", (uptr)_msize);
   TryToOverrideFunction("_expand", (uptr)_expand);