diff options
Diffstat (limited to 'libc/stdlib')
-rw-r--r-- | libc/stdlib/malloc/malloc.h | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/libc/stdlib/malloc/malloc.h b/libc/stdlib/malloc/malloc.h index 8abc9ed4f..193dabd64 100644 --- a/libc/stdlib/malloc/malloc.h +++ b/libc/stdlib/malloc/malloc.h @@ -52,17 +52,21 @@ ^ ADDR - MALLOC_ALIGN */ +/* The amount of extra space used by the malloc header. */ +#define MALLOC_HEADER_SIZE MALLOC_ALIGNMENT + /* Return base-address of a malloc allocation, given the user address. */ -#define MALLOC_BASE(addr) ((void *)((char *)addr - MALLOC_ALIGNMENT)) +#define MALLOC_BASE(addr) ((void *)((char *)addr - MALLOC_HEADER_SIZE)) /* Return the size of a malloc allocation, given the user address. */ #define MALLOC_SIZE(addr) (*(size_t *)MALLOC_BASE(addr)) /* Sets the size of a malloc allocation, given the user address. */ #define MALLOC_SET_SIZE(addr, size) (*(size_t *)MALLOC_BASE(addr) = (size)) /* Return the user address of a malloc allocation, given the base address. */ -#define MALLOC_ADDR(base) ((void *)((char *)base + MALLOC_ALIGNMENT)) +#define MALLOC_ADDR(base) ((void *)((char *)base + MALLOC_HEADER_SIZE)) +/* Locking for multithreaded apps. */ #ifdef __UCLIBC_HAS_THREADS__ # include <pthread.h> |