diff -r -u umem/Makefile umem.new/Makefile --- umem/Makefile 2014-01-06 14:44:28.000000000 +0800 +++ umem.new/Makefile 2014-01-06 14:44:15.000000000 +0800 @@ -18,6 +18,7 @@ NO_STAGE= yes post-patch: @${REINPLACE_CMD} -e 's/ -ldl//g' ${WRKSRC}/Makefile.in + @${REINPLACE_CMD} -e 's/#if (!defined(_LP64) \|\| defined(UMEM_PTHREAD_MUTEX_TOO_BIG)) && !defined(_WIN32)/#if 1/' ${WRKSRC}/umem_impl.h MAN3= umem_alloc.3 umem_cache_create.3 umem_debug.3 diff -r -u umem/work/umem-1.0.1/malloc.c umem.new/work/umem-1.0.1/malloc.c --- umem/work/umem-1.0.1/malloc.c 2009-03-06 08:56:48.000000000 +0800 +++ umem.new/work/umem-1.0.1/malloc.c 2014-01-06 14:37:34.000000000 +0800 @@ -240,6 +240,25 @@ return ((void *)ret); } +void * +aligned_alloc(size_t alignment, size_t size) +{ + return memalign(alignment, size); +} + +int +posix_memalign(void **ptr, size_t alignment, size_t size) +{ + void *ret; + + ret = memalign(alignment, size); + if (ret != NULL) { + *ptr = ret; + return (0); + } + return (errno); +} + #ifndef __GLIBC__ void * valloc(size_t size) @@ -408,6 +427,16 @@ (void) process_free(buf, 1, NULL); } +size_t +malloc_usable_size(const void *buf_arg) +{ + size_t oldsize; + + if (process_free(buf_arg, 0, &oldsize) == 0) + return (0); + return (oldsize); +} + #ifdef __GLIBC__ static void *umem_realloc_hook(void *buf_arg, size_t newsize, const void *caller) #else