summaryrefslogtreecommitdiff
path: root/malloc
diff options
context:
space:
mode:
Diffstat (limited to 'malloc')
-rw-r--r--malloc/arena.c8
-rw-r--r--malloc/hooks.c6
-rw-r--r--malloc/malloc.c38
-rw-r--r--malloc/malloc.h13
-rw-r--r--malloc/mcheck.c23
-rw-r--r--malloc/memusagestat.c108
-rw-r--r--malloc/morecore.c11
-rw-r--r--malloc/mtrace.c19
8 files changed, 121 insertions, 105 deletions
diff --git a/malloc/arena.c b/malloc/arena.c
index 7d51a9dd14..12a48ad7ba 100644
--- a/malloc/arena.c
+++ b/malloc/arena.c
@@ -144,11 +144,9 @@ int __malloc_initialized = -1;
/* atfork support. */
-static __malloc_ptr_t (*save_malloc_hook) (size_t __size,
- const __malloc_ptr_t);
-static void (*save_free_hook) (__malloc_ptr_t __ptr,
- const __malloc_ptr_t);
-static void* save_arena;
+static void *(*save_malloc_hook) (size_t __size, const void *);
+static void (*save_free_hook) (void *__ptr, const void *);
+static void *save_arena;
#ifdef ATFORK_MEM
ATFORK_MEM;
diff --git a/malloc/hooks.c b/malloc/hooks.c
index 05cc35e849..8e4a6ed033 100644
--- a/malloc/hooks.c
+++ b/malloc/hooks.c
@@ -25,7 +25,7 @@
initialization routine, then do the normal work. */
static void*
-malloc_hook_ini(size_t sz, const __malloc_ptr_t caller)
+malloc_hook_ini(size_t sz, const void *caller)
{
__malloc_hook = NULL;
ptmalloc_init();
@@ -33,7 +33,7 @@ malloc_hook_ini(size_t sz, const __malloc_ptr_t caller)
}
static void*
-realloc_hook_ini(void* ptr, size_t sz, const __malloc_ptr_t caller)
+realloc_hook_ini(void* ptr, size_t sz, const void *caller)
{
__malloc_hook = NULL;
__realloc_hook = NULL;
@@ -42,7 +42,7 @@ realloc_hook_ini(void* ptr, size_t sz, const __malloc_ptr_t caller)
}
static void*
-memalign_hook_ini(size_t alignment, size_t sz, const __malloc_ptr_t caller)
+memalign_hook_ini(size_t alignment, size_t sz, const void *caller)
{
__memalign_hook = NULL;
ptmalloc_init();
diff --git a/malloc/malloc.c b/malloc/malloc.c
index bbb035393f..70b9329cc3 100644
--- a/malloc/malloc.c
+++ b/malloc/malloc.c
@@ -1841,22 +1841,22 @@ static void malloc_consolidate(mstate);
/* Forward declarations. */
static void* malloc_hook_ini (size_t sz,
- const __malloc_ptr_t caller) __THROW;
+ const void *caller) __THROW;
static void* realloc_hook_ini (void* ptr, size_t sz,
- const __malloc_ptr_t caller) __THROW;
+ const void *caller) __THROW;
static void* memalign_hook_ini (size_t alignment, size_t sz,
- const __malloc_ptr_t caller) __THROW;
+ const void *caller) __THROW;
void weak_variable (*__malloc_initialize_hook) (void) = NULL;
-void weak_variable (*__free_hook) (__malloc_ptr_t __ptr,
- const __malloc_ptr_t) = NULL;
-__malloc_ptr_t weak_variable (*__malloc_hook)
- (size_t __size, const __malloc_ptr_t) = malloc_hook_ini;
-__malloc_ptr_t weak_variable (*__realloc_hook)
- (__malloc_ptr_t __ptr, size_t __size, const __malloc_ptr_t)
+void weak_variable (*__free_hook) (void *__ptr,
+ const void *) = NULL;
+void *weak_variable (*__malloc_hook)
+ (size_t __size, const void *) = malloc_hook_ini;
+void *weak_variable (*__realloc_hook)
+ (void *__ptr, size_t __size, const void *)
= realloc_hook_ini;
-__malloc_ptr_t weak_variable (*__memalign_hook)
- (size_t __alignment, size_t __size, const __malloc_ptr_t)
+void *weak_variable (*__memalign_hook)
+ (size_t __alignment, size_t __size, const void *)
= memalign_hook_ini;
void weak_variable (*__after_morecore_hook) (void) = NULL;
@@ -2842,7 +2842,7 @@ __libc_malloc(size_t bytes)
mstate ar_ptr;
void *victim;
- __malloc_ptr_t (*hook) (size_t, const __malloc_ptr_t)
+ void *(*hook) (size_t, const void *)
= force_reg (__malloc_hook);
if (__builtin_expect (hook != NULL, 0))
return (*hook)(bytes, RETURN_ADDRESS (0));
@@ -2873,7 +2873,7 @@ __libc_free(void* mem)
mstate ar_ptr;
mchunkptr p; /* chunk corresponding to mem */
- void (*hook) (__malloc_ptr_t, const __malloc_ptr_t)
+ void (*hook) (void *, const void *)
= force_reg (__free_hook);
if (__builtin_expect (hook != NULL, 0)) {
(*hook)(mem, RETURN_ADDRESS (0));
@@ -2912,7 +2912,7 @@ __libc_realloc(void* oldmem, size_t bytes)
void* newp; /* chunk to return */
- __malloc_ptr_t (*hook) (__malloc_ptr_t, size_t, const __malloc_ptr_t) =
+ void *(*hook) (void *, size_t, const void *) =
force_reg (__realloc_hook);
if (__builtin_expect (hook != NULL, 0))
return (*hook)(oldmem, bytes, RETURN_ADDRESS (0));
@@ -3004,7 +3004,7 @@ __libc_memalign(size_t alignment, size_t bytes)
mstate ar_ptr;
void *p;
- __malloc_ptr_t (*hook) (size_t, size_t, const __malloc_ptr_t) =
+ void *(*hook) (size_t, size_t, const void *) =
force_reg (__memalign_hook);
if (__builtin_expect (hook != NULL, 0))
return (*hook)(alignment, bytes, RETURN_ADDRESS (0));
@@ -3046,7 +3046,7 @@ __libc_valloc(size_t bytes)
size_t pagesz = GLRO(dl_pagesize);
- __malloc_ptr_t (*hook) (size_t, size_t, const __malloc_ptr_t) =
+ void *(*hook) (size_t, size_t, const void *) =
force_reg (__memalign_hook);
if (__builtin_expect (hook != NULL, 0))
return (*hook)(pagesz, bytes, RETURN_ADDRESS (0));
@@ -3082,7 +3082,7 @@ __libc_pvalloc(size_t bytes)
size_t page_mask = GLRO(dl_pagesize) - 1;
size_t rounded_bytes = (bytes + page_mask) & ~(page_mask);
- __malloc_ptr_t (*hook) (size_t, size_t, const __malloc_ptr_t) =
+ void *(*hook) (size_t, size_t, const void *) =
force_reg (__memalign_hook);
if (__builtin_expect (hook != NULL, 0))
return (*hook)(pagesz, rounded_bytes, RETURN_ADDRESS (0));
@@ -3125,7 +3125,7 @@ __libc_calloc(size_t n, size_t elem_size)
}
}
- __malloc_ptr_t (*hook) (size_t, const __malloc_ptr_t) =
+ void *(*hook) (size_t, const void *) =
force_reg (__malloc_hook);
if (__builtin_expect (hook != NULL, 0)) {
sz = bytes;
@@ -4916,7 +4916,7 @@ __posix_memalign (void **memptr, size_t alignment, size_t size)
/* Call the hook here, so that caller is posix_memalign's caller
and not posix_memalign itself. */
- __malloc_ptr_t (*hook) (size_t, size_t, const __malloc_ptr_t) =
+ void *(*hook) (size_t, size_t, const void *) =
force_reg (__memalign_hook);
if (__builtin_expect (hook != NULL, 0))
mem = (*hook)(alignment, size, RETURN_ADDRESS (0));
diff --git a/malloc/malloc.h b/malloc/malloc.h
index 9fe7ab26bc..b8b0ca34ca 100644
--- a/malloc/malloc.h
+++ b/malloc/malloc.h
@@ -22,11 +22,6 @@
#include <features.h>
#include <stddef.h>
#include <stdio.h>
-# define __malloc_ptr_t void *
-
-/* Used by GNU libc internals. */
-#define __malloc_size_t size_t
-#define __malloc_ptrdiff_t ptrdiff_t
#ifdef _LIBC
# define __MALLOC_HOOK_VOLATILE
@@ -153,18 +148,18 @@ extern void (*__MALLOC_HOOK_VOLATILE __malloc_initialize_hook) (void)
__MALLOC_DEPRECATED;
/* Hooks for debugging and user-defined versions. */
extern void (*__MALLOC_HOOK_VOLATILE __free_hook) (void *__ptr,
- const __malloc_ptr_t)
+ const void *)
__MALLOC_DEPRECATED;
extern void *(*__MALLOC_HOOK_VOLATILE __malloc_hook) (size_t __size,
- const __malloc_ptr_t)
+ const void *)
__MALLOC_DEPRECATED;
extern void *(*__MALLOC_HOOK_VOLATILE __realloc_hook) (void *__ptr,
size_t __size,
- const __malloc_ptr_t)
+ const void *)
__MALLOC_DEPRECATED;
extern void *(*__MALLOC_HOOK_VOLATILE __memalign_hook) (size_t __alignment,
size_t __size,
- const __malloc_ptr_t)
+ const void *)
__MALLOC_DEPRECATED;
extern void (*__MALLOC_HOOK_VOLATILE __after_morecore_hook) (void);
diff --git a/malloc/mcheck.c b/malloc/mcheck.c
index b6eb3b31e5..2e5eadd80a 100644
--- a/malloc/mcheck.c
+++ b/malloc/mcheck.c
@@ -29,11 +29,10 @@
/* Old hook values. */
static void (*old_free_hook) (__ptr_t ptr, const __ptr_t);
-static __ptr_t (*old_malloc_hook) (__malloc_size_t size, const __ptr_t);
-static __ptr_t (*old_memalign_hook) (__malloc_size_t alignment,
- __malloc_size_t size,
+static __ptr_t (*old_malloc_hook) (size_t size, const __ptr_t);
+static __ptr_t (*old_memalign_hook) (size_t alignment, size_t size,
const __ptr_t);
-static __ptr_t (*old_realloc_hook) (__ptr_t ptr, __malloc_size_t size,
+static __ptr_t (*old_realloc_hook) (__ptr_t ptr, size_t size,
const __ptr_t);
/* Function to call when something awful happens. */
@@ -48,7 +47,7 @@ static void (*abortfunc) (enum mcheck_status);
struct hdr
{
- __malloc_size_t size; /* Exact size requested by user. */
+ size_t size; /* Exact size requested by user. */
unsigned long int magic; /* Magic number to check header integrity. */
struct hdr *prev;
struct hdr *next;
@@ -69,12 +68,12 @@ static int pedantic;
# include <string.h>
# define flood memset
#else
-static void flood (__ptr_t, int, __malloc_size_t);
+static void flood (__ptr_t, int, size_t);
static void
flood (ptr, val, size)
__ptr_t ptr;
int val;
- __malloc_size_t size;
+ size_t size;
{
char *cp = ptr;
while (size--)
@@ -202,7 +201,7 @@ freehook (__ptr_t ptr, const __ptr_t caller)
}
static __ptr_t
-mallochook (__malloc_size_t size, const __ptr_t caller)
+mallochook (size_t size, const __ptr_t caller)
{
struct hdr *hdr;
@@ -235,11 +234,11 @@ mallochook (__malloc_size_t size, const __ptr_t caller)
}
static __ptr_t
-memalignhook (__malloc_size_t alignment, __malloc_size_t size,
+memalignhook (size_t alignment, size_t size,
const __ptr_t caller)
{
struct hdr *hdr;
- __malloc_size_t slop;
+ size_t slop;
char *block;
if (pedantic)
@@ -274,7 +273,7 @@ memalignhook (__malloc_size_t alignment, __malloc_size_t size,
}
static __ptr_t
-reallochook (__ptr_t ptr, __malloc_size_t size, const __ptr_t caller)
+reallochook (__ptr_t ptr, size_t size, const __ptr_t caller)
{
if (size == 0)
{
@@ -283,7 +282,7 @@ reallochook (__ptr_t ptr, __malloc_size_t size, const __ptr_t caller)
}
struct hdr *hdr;
- __malloc_size_t osize;
+ size_t osize;
if (pedantic)
mcheck_check_all ();
diff --git a/malloc/memusagestat.c b/malloc/memusagestat.c
index f561e0dbbc..daeba1dc0a 100644
--- a/malloc/memusagestat.c
+++ b/malloc/memusagestat.c
@@ -52,12 +52,15 @@
/* Definitions of arguments for argp functions. */
static const struct argp_option options[] =
{
- { "output", 'o', "FILE", 0, N_("Name output file") },
- { "string", 's', "STRING", 0, N_("Title string used in output graphic") },
- { "time", 't', NULL, 0, N_("Generate output linear to time (default is linear to number of function calls)") },
+ { "output", 'o', N_("FILE"), 0, N_("Name output file") },
+ { "string", 's', N_("STRING"), 0, N_("Title string used in output graphic") },
+ { "time", 't', NULL, 0, N_("\
+Generate output linear to time (default is linear to number of function calls)\
+") },
{ "total", 'T', NULL, 0,
N_("Also draw graph for total memory consumption") },
- { "x-size", 'x', "VALUE", 0, N_("Make output graphic VALUE pixels wide") },
+ { "x-size", 'x', N_("VALUE"), 0,
+ N_("Make output graphic VALUE pixels wide") },
{ "y-size", 'y', "VALUE", 0, N_("Make output graphic VALUE pixels high") },
{ NULL, 0, NULL, 0, NULL }
};
@@ -319,17 +322,26 @@ main (int argc, char *argv[])
for (line = 1; line <= 3; ++line)
{
- cnt = ((ysize - 40) * (maxsize_heap / 4 * line / heap_scale)) /
- (maxsize_heap / heap_scale);
- gdImageDashedLine (im_out, 40, ysize - 20 - cnt, xsize - 40,
- ysize - 20 - cnt, red);
- snprintf (buf, sizeof (buf), heap_format, maxsize_heap / 4 * line /
- heap_scale);
- gdImageString (im_out, gdFontSmall, 39 - strlen (buf) * 6,
- ysize - 26 - cnt, (unsigned char *) buf, red);
-
- cnt2 = ((ysize - 40) * (maxsize_stack / 4 * line / stack_scale)) /
- (maxsize_stack / stack_scale);
+ if (maxsize_heap > 0)
+ {
+ cnt = (((ysize - 40) * (maxsize_heap / 4 * line / heap_scale))
+ / (maxsize_heap / heap_scale));
+ gdImageDashedLine (im_out, 40, ysize - 20 - cnt, xsize - 40,
+ ysize - 20 - cnt, red);
+ snprintf (buf, sizeof (buf), heap_format,
+ maxsize_heap / 4 * line / heap_scale);
+ gdImageString (im_out, gdFontSmall, 39 - strlen (buf) * 6,
+ ysize - 26 - cnt, (unsigned char *) buf, red);
+ }
+ else
+ cnt = 0;
+
+ if (maxsize_stack > 0)
+ cnt2 = (((ysize - 40) * (maxsize_stack / 4 * line / stack_scale))
+ / (maxsize_stack / stack_scale));
+ else
+ cnt2 = 0;
+
if (cnt != cnt2)
gdImageDashedLine (im_out, 40, ysize - 20 - cnt2, xsize - 40,
ysize - 20 - cnt2, green);
@@ -372,7 +384,7 @@ main (int argc, char *argv[])
ysize - 14, yellow);
previously = now;
- if (also_total)
+ if (also_total && maxsize_heap > 0)
{
size_t new3;
@@ -386,21 +398,27 @@ main (int argc, char *argv[])
last_total = new3;
}
- // assert (entry.heap <= maxsize_heap);
- new[0] = (ysize - 20) - ((((unsigned long long int) (ysize - 40))
- * entry.heap) / maxsize_heap);
- gdImageLine (im_out, 40 + ((xsize - 80) * (cnt - 1)) / total,
- last_heap, 40 + ((xsize - 80) * cnt) / total, new[0],
- red);
- last_heap = new[0];
-
- // assert (entry.stack <= maxsize_stack);
- new[1] = (ysize - 20) - ((((unsigned long long int) (ysize - 40))
- * entry.stack) / maxsize_stack);
- gdImageLine (im_out, 40 + ((xsize - 80) * (cnt - 1)) / total,
- last_stack, 40 + ((xsize - 80) * cnt) / total, new[1],
- green);
- last_stack = new[1];
+ if (maxsize_heap > 0)
+ {
+ new[0] = ((ysize - 20)
+ - ((((unsigned long long int) (ysize - 40))
+ * entry.heap) / maxsize_heap));
+ gdImageLine (im_out, 40 + ((xsize - 80) * (cnt - 1)) / total,
+ last_heap, 40 + ((xsize - 80) * cnt) / total,
+ new[0], red);
+ last_heap = new[0];
+ }
+
+ if (maxsize_stack > 0)
+ {
+ new[1] = ((ysize - 20)
+ - ((((unsigned long long int) (ysize - 40))
+ * entry.stack) / maxsize_stack));
+ gdImageLine (im_out, 40 + ((xsize - 80) * (cnt - 1)) / total,
+ last_stack, 40 + ((xsize - 80) * cnt) / total,
+ new[1], green);
+ last_stack = new[1];
+ }
}
cnt = 0;
@@ -448,7 +466,7 @@ main (int argc, char *argv[])
next_tick += MAX (1, total / 20);
}
- if (also_total)
+ if (also_total && maxsize_heap > 0)
{
size_t new3;
@@ -459,16 +477,24 @@ main (int argc, char *argv[])
last_total = new3;
}
- new[0] = (ysize - 20) - ((((unsigned long long int) (ysize - 40))
- * entry.heap) / maxsize_heap);
- gdImageLine (im_out, last_xpos, last_heap, xpos, new[0], red);
- last_heap = new[0];
+ if (maxsize_heap > 0)
+ {
+ new[0] = ((ysize - 20)
+ - ((((unsigned long long int) (ysize - 40))
+ * entry.heap) / maxsize_heap));
+ gdImageLine (im_out, last_xpos, last_heap, xpos, new[0], red);
+ last_heap = new[0];
+ }
- // assert (entry.stack <= maxsize_stack);
- new[1] = (ysize - 20) - ((((unsigned long long int) (ysize - 40))
- * entry.stack) / maxsize_stack);
- gdImageLine (im_out, last_xpos, last_stack, xpos, new[1], green);
- last_stack = new[1];
+ if (maxsize_stack > 0)
+ {
+ new[1] = ((ysize - 20)
+ - ((((unsigned long long int) (ysize - 40))
+ * entry.stack) / maxsize_stack));
+ gdImageLine (im_out, last_xpos, last_stack, xpos, new[1],
+ green);
+ last_stack = new[1];
+ }
last_xpos = xpos;
}
diff --git a/malloc/morecore.c b/malloc/morecore.c
index 3b19406347..0a644c36ad 100644
--- a/malloc/morecore.c
+++ b/malloc/morecore.c
@@ -30,7 +30,7 @@
#include <stddef.h>
#include <stdlib.h>
-extern __malloc_ptr_t __sbrk (ptrdiff_t increment) __THROW;
+extern void *__sbrk (ptrdiff_t increment) __THROW;
libc_hidden_proto (__sbrk)
#endif
@@ -41,12 +41,11 @@ libc_hidden_proto (__sbrk)
/* Allocate INCREMENT more bytes of data space,
and return the start of data space, or NULL on errors.
If INCREMENT is negative, shrink data space. */
-__malloc_ptr_t
-__default_morecore (increment)
- __malloc_ptrdiff_t increment;
+void *
+__default_morecore (ptrdiff_t increment)
{
- __malloc_ptr_t result = (__malloc_ptr_t) __sbrk (increment);
- if (result == (__malloc_ptr_t) -1)
+ void *result = (void *) __sbrk (increment);
+ if (result == (void *) -1)
return NULL;
return result;
}
diff --git a/malloc/mtrace.c b/malloc/mtrace.c
index e9ccfa299d..62867b1182 100644
--- a/malloc/mtrace.c
+++ b/malloc/mtrace.c
@@ -58,11 +58,10 @@ __ptr_t mallwatch;
/* Old hook values. */
static void (*tr_old_free_hook) (__ptr_t ptr, const __ptr_t);
-static __ptr_t (*tr_old_malloc_hook) (__malloc_size_t size, const __ptr_t);
-static __ptr_t (*tr_old_realloc_hook) (__ptr_t ptr, __malloc_size_t size,
+static __ptr_t (*tr_old_malloc_hook) (size_t size, const __ptr_t);
+static __ptr_t (*tr_old_realloc_hook) (__ptr_t ptr, size_t size,
const __ptr_t);
-static __ptr_t (*tr_old_memalign_hook) (__malloc_size_t __alignment,
- __malloc_size_t __size,
+static __ptr_t (*tr_old_memalign_hook) (size_t __alignment, size_t __size,
const __ptr_t);
/* This function is called when the block being alloc'd, realloc'd, or
@@ -160,10 +159,10 @@ tr_freehook (ptr, caller)
__libc_lock_unlock (lock);
}
-static __ptr_t tr_mallochook (__malloc_size_t, const __ptr_t) __THROW;
+static __ptr_t tr_mallochook (size_t, const __ptr_t) __THROW;
static __ptr_t
tr_mallochook (size, caller)
- __malloc_size_t size;
+ size_t size;
const __ptr_t caller;
{
__ptr_t hdr;
@@ -190,12 +189,12 @@ tr_mallochook (size, caller)
return hdr;
}
-static __ptr_t tr_reallochook (__ptr_t, __malloc_size_t, const __ptr_t)
+static __ptr_t tr_reallochook (__ptr_t, size_t, const __ptr_t)
__THROW;
static __ptr_t
tr_reallochook (ptr, size, caller)
__ptr_t ptr;
- __malloc_size_t size;
+ size_t size;
const __ptr_t caller;
{
__ptr_t hdr;
@@ -243,11 +242,11 @@ tr_reallochook (ptr, size, caller)
return hdr;
}
-static __ptr_t tr_memalignhook (__malloc_size_t, __malloc_size_t,
+static __ptr_t tr_memalignhook (size_t, size_t,
const __ptr_t) __THROW;
static __ptr_t
tr_memalignhook (alignment, size, caller)
- __malloc_size_t alignment, size;
+ size_t alignment, size;
const __ptr_t caller;
{
__ptr_t hdr;