return chunks split off by memalign using __bin_chunk instead of free
authorRich Felker <dalias@aerifal.cx>
Fri, 20 Apr 2018 00:56:26 +0000 (20:56 -0400)
committerRich Felker <dalias@aerifal.cx>
Fri, 20 Apr 2018 00:56:26 +0000 (20:56 -0400)
commit72141795d4edd17f88da192447395a48444afa10
tree483162056393cc2f4f380216781726531f76b94e
parent3c2cbbe7ba8b4486299ae0d5336ae01ab520d116
return chunks split off by memalign using __bin_chunk instead of free

this change serves multiple purposes:

1. it ensures that static linking of memalign-family functions will
pull in the system malloc implementation, thereby causing link errors
if an attempt is made to link the system memalign functions with a
replacement malloc (incomplete allocator replacement).

2. it eliminates calls to free that are unpaired with allocations,
which are confusing when setting breakpoints or tracing execution.

as a bonus, making __bin_chunk external may discourage aggressive and
unnecessary inlining of it.
src/internal/malloc_impl.h
src/malloc/malloc.c
src/malloc/memalign.c