mirror of
https://sourceware.org/git/glibc.git
synced 2025-07-29 11:41:21 +03:00
elf: dl-minimal malloc needs to respect fundamental alignment
The dynamic linker currently uses __libc_memalign for TLS-related allocations. The goal is to switch to malloc instead. If the minimal malloc follows the ABI fundamental alignment, we can assume that malloc provides this alignment, and thus skip explicit alignment in a few cases as an optimization. It was requested on libc-alpha that MALLOC_ALIGNMENT should be used, although this results in wasted space if MALLOC_ALIGNMENT is larger than the fundamental alignment. (The dynamic linker cannot assume that the non-minimal malloc will provide an alignment of MALLOC_ALIGNMENT; the ABI provides _Alignof (max_align_t) only.)
This commit is contained in:
@ -27,6 +27,7 @@
|
||||
#include <sys/types.h>
|
||||
#include <ldsodefs.h>
|
||||
#include <_itoa.h>
|
||||
#include <malloc/malloc-internal.h>
|
||||
|
||||
#include <assert.h>
|
||||
|
||||
@ -90,7 +91,7 @@ __libc_memalign (size_t align, size_t n)
|
||||
void * weak_function
|
||||
malloc (size_t n)
|
||||
{
|
||||
return __libc_memalign (sizeof (double), n);
|
||||
return __libc_memalign (MALLOC_ALIGNMENT, n);
|
||||
}
|
||||
|
||||
/* We use this function occasionally since the real implementation may
|
||||
|
Reference in New Issue
Block a user