summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorwez <wez@1665872d-e22b-0410-9e5d-a57ad4215e6d>2010-04-30 21:31:37 +0000
committerwez <wez@1665872d-e22b-0410-9e5d-a57ad4215e6d>2010-04-30 21:31:37 +0000
commit08fe345aeaf1de9b7e6bd66e7ac6f93c4f462386 (patch)
tree8e0df83773ec1d051d26980fb8f1a690f79a5d55
parent2f8824b7743cf21219dc5ed3a70a45f8ad42ba9e (diff)
downloadportableumem-08fe345aeaf1de9b7e6bd66e7ac6f93c4f462386.tar.gz
Apparently, the glibc malloc hooks are now deprecated due to thread safety
issues, so we simply eliminate the glibc specific code from our malloc preload to resolve this issue. git-svn-id: https://labs.omniti.com/portableumem/trunk@57 1665872d-e22b-0410-9e5d-a57ad4215e6d
-rw-r--r--malloc.c40
1 files changed, 0 insertions, 40 deletions
diff --git a/malloc.c b/malloc.c
index 1ad008e..6596db7 100644
--- a/malloc.c
+++ b/malloc.c
@@ -41,10 +41,6 @@
#include "misc.h"
-#ifdef __GLIBC__
-# include <malloc.h>
-#endif
-
/*
* malloc_data_t is an 8-byte structure which is located "before" the pointer
* returned from {m,c,re}alloc and memalign. The first four bytes give
@@ -62,12 +58,8 @@ typedef struct malloc_data {
uint32_t malloc_stat; /* = UMEM_MALLOC_ENCODE(state, malloc_size) */
} malloc_data_t;
-#ifdef __GLIBC__
-static void *umem_malloc_hook(size_t size_arg, const void *caller)
-#else
void *
malloc(size_t size_arg)
-#endif
{
#ifdef _LP64
uint32_t high_size = 0;
@@ -128,7 +120,6 @@ malloc(size_t size_arg)
return ((void *)ret);
}
-#ifndef __GLIBC__
void *
calloc(size_t nelem, size_t elsize)
{
@@ -147,7 +138,6 @@ calloc(size_t nelem, size_t elsize)
(void) memset(retval, 0, size);
return (retval);
}
-#endif
/*
* memalign uses vmem_xalloc to do its work.
@@ -156,12 +146,8 @@ calloc(size_t nelem, size_t elsize)
* code.
*/
-#ifdef __GLIBC__
-static void *umem_memalign_hook(size_t align, size_t size_arg, const void *caller)
-#else
void *
memalign(size_t align, size_t size_arg)
-#endif
{
size_t size;
uintptr_t phase;
@@ -240,13 +226,11 @@ memalign(size_t align, size_t size_arg)
return ((void *)ret);
}
-#ifndef __GLIBC__
void *
valloc(size_t size)
{
return (memalign(pagesize, size));
}
-#endif
/*
* process_free:
@@ -392,12 +376,8 @@ process_memalign:
return (1);
}
-#ifdef __GLIBC__
-static void umem_free_hook(void *buf, const void *caller)
-#else
void
free(void *buf)
-#endif
{
if (buf == NULL)
return;
@@ -408,12 +388,8 @@ free(void *buf)
(void) process_free(buf, 1, NULL);
}
-#ifdef __GLIBC__
-static void *umem_realloc_hook(void *buf_arg, size_t newsize, const void *caller)
-#else
void *
realloc(void *buf_arg, size_t newsize)
-#endif
{
size_t oldsize;
void *buf;
@@ -441,25 +417,9 @@ realloc(void *buf_arg, size_t newsize)
return (buf);
}
-#ifdef __GLIBC__
-static void __attribute__((constructor)) umem_malloc_init_hook(void)
-{
- if (__malloc_hook != umem_malloc_hook) {
- umem_startup(NULL, 0, 0, NULL, NULL);
- __malloc_hook = umem_malloc_hook;
- __free_hook = umem_free_hook;
- __realloc_hook = umem_realloc_hook;
- __memalign_hook = umem_memalign_hook;
- }
-}
-
-void (*__malloc_initialize_hook)(void) = umem_malloc_init_hook;
-
-#else
void __attribute__((constructor))
__malloc_umem_init (void)
{
umem_startup(NULL, 0, 0, NULL, NULL);
}
-#endif