[PATCH 1/2] dlmalloc: remove unused functions
Sascha Hauer
s.hauer at pengutronix.de
Mon Jul 7 23:34:21 PDT 2014
remove unused function declarations and definitions:
- vallocc is #if 0 in source code
- pvalloc is defined but not used
- cfree is defined but not used
- malloc_usable_size is unused
- mallopt is not defined
- mallinfo is not defined
Signed-off-by: Sascha Hauer <s.hauer at pengutronix.de>
---
common/dlmalloc.c | 169 ------------------------------------------------------
include/malloc.h | 7 ---
2 files changed, 176 deletions(-)
diff --git a/common/dlmalloc.c b/common/dlmalloc.c
index d831e90..499ec93 100644
--- a/common/dlmalloc.c
+++ b/common/dlmalloc.c
@@ -1712,29 +1712,6 @@ void *memalign(size_t alignment, size_t bytes)
return chunk2mem(p);
}
-#if 0
-/*
- * valloc just invokes memalign with alignment argument equal
- * to the page size of the system (or as near to this as can
- * be figured out from all the includes/defines above.)
- */
-void *valloc(size_t bytes)
-{
- return memalign(malloc_getpagesize, bytes);
-}
-#endif
-
-/*
- * pvalloc just invokes valloc for the nearest pagesize
- * that will accommodate request
- */
-void *pvalloc (size_t bytes)
-{
- size_t pagesize = malloc_getpagesize;
-
- return memalign(pagesize, (bytes + pagesize - 1) & ~(pagesize - 1));
-}
-
/*
*
* calloc calls malloc, then zeroes out the allocated chunk.
@@ -1774,115 +1751,6 @@ void *calloc(size_t n, size_t elem_size)
}
}
-/*
- *
- * cfree just calls free. It is needed/defined on some systems
- * that pair it with calloc, presumably for odd historical reasons.
- */
-#if !defined(INTERNAL_LINUX_C_LIB) || !defined(__ELF__)
-void cfree(void *mem)
-{
- free(mem);
-}
-#endif
-
-/*
- Malloc_trim gives memory back to the system (via negative
- arguments to sbrk) if there is unused memory at the `high' end of
- the malloc pool. You can call this after freeing large blocks of
- memory to potentially reduce the system-level memory requirements
- of a program. However, it cannot guarantee to reduce memory. Under
- some allocation patterns, some large free blocks of memory will be
- locked between two used chunks, so they cannot be given back to
- the system.
-
- The `pad' argument to malloc_trim represents the amount of free
- trailing space to leave untrimmed. If this argument is zero,
- only the minimum amount of memory to maintain internal data
- structures will be left (one page or less). Non-zero arguments
- can be supplied to maintain enough trailing space to service
- future expected allocations without having to re-obtain memory
- from the system.
-
- Malloc_trim returns 1 if it actually released any memory, else 0.
-*/
-#ifdef USE_MALLOC_TRIM
-int malloc_trim(size_t pad)
-{
- long top_size; /* Amount of top-most memory */
- long extra; /* Amount to release */
- char *current_brk; /* address returned by pre-check sbrk call */
- char *new_brk; /* address returned by negative sbrk call */
-
- unsigned long pagesz = malloc_getpagesize;
-
- top_size = chunksize(top);
- extra = ((top_size - pad - MINSIZE + (pagesz - 1)) / pagesz -
- 1) * pagesz;
-
- if (extra < (long)pagesz) /* Not enough memory to release */
- return 0;
-
- else {
- /* Test to make sure no one else called sbrk */
- current_brk = (char*)(sbrk(0));
- if (current_brk != (char*)(top) + top_size)
- return 0; /* Apparently we don't own memory; must fail */
-
- else {
- new_brk = (char *) (sbrk(-extra));
-
- if (new_brk == (char*)(NULL)) { /* sbrk failed? */
- /* Try to figure out what we have */
- current_brk = (char*)(sbrk (0));
- top_size = current_brk - (char*) top;
- if (top_size >= (long)MINSIZE) { /* if not, we are very very dead! */
- sbrked_mem = current_brk - sbrk_base;
- set_head(top, top_size | PREV_INUSE);
- }
- return 0;
- }
-
- else {
- /* Success. Adjust top accordingly. */
- set_head(top, (top_size - extra) | PREV_INUSE);
- sbrked_mem -= extra;
- return 1;
- }
- }
- }
-}
-#endif
-
-/*
- * malloc_usable_size:
- *
- * This routine tells you how many bytes you can actually use in an
- * allocated chunk, which may be more than you requested (although
- * often not). You can use this many bytes without worrying about
- * overwriting other allocated objects. Not a particularly great
- * programming practice, but still sometimes useful.
- */
-size_t malloc_usable_size(void *mem)
-{
- mchunkptr p;
-
- if (!mem)
- return 0;
- else {
- p = mem2chunk(mem);
- if (!chunk_is_mmapped(p)) {
- if (!inuse(p))
- return 0;
- return chunksize(p) - SIZE_SZ;
- }
- return chunksize(p) - 2 * SIZE_SZ;
- }
-}
-
-
-
-
/* Utility to update current_mallinfo for malloc_stats and mallinfo() */
#ifdef CONFIG_CMD_MEMINFO
@@ -1956,43 +1824,6 @@ void malloc_stats(void)
#endif /* CONFIG_CMD_MEMINFO */
/*
- mallopt:
-
- mallopt is the general SVID/XPG interface to tunable parameters.
- The format is to provide a (parameter-number, parameter-value) pair.
- mallopt then sets the corresponding parameter to the argument
- value if it can (i.e., so long as the value is meaningful),
- and returns 1 if successful else 0.
-
- See descriptions of tunable parameters above.
-*/
-#ifndef __BAREBOX__
-int mallopt(int param_number, int value)
-{
- switch (param_number) {
- case M_TRIM_THRESHOLD:
- trim_threshold = value;
- return 1;
- case M_TOP_PAD:
- top_pad = value;
- return 1;
- case M_MMAP_THRESHOLD:
- mmap_threshold = value;
- return 1;
- case M_MMAP_MAX:
- if (value != 0)
- return 0;
- else
- n_mmaps_max = value;
- return 1;
-
- default:
- return 0;
- }
-}
-#endif
-
-/*
History:
diff --git a/include/malloc.h b/include/malloc.h
index 7b9b062..46147bc 100644
--- a/include/malloc.h
+++ b/include/malloc.h
@@ -9,15 +9,8 @@ void* malloc(size_t);
void free(void*);
void* realloc(void*, size_t);
void* memalign(size_t, size_t);
-void* vallocc(size_t);
-void* pvalloc(size_t);
void* calloc(size_t, size_t);
-void cfree(void*);
-int malloc_trim(size_t);
-size_t malloc_usable_size(void*);
void malloc_stats(void);
-int mallopt(int, int);
-struct mallinfo mallinfo(void);
void *sbrk(ptrdiff_t increment);
#endif
--
2.0.0
More information about the barebox
mailing list