This is the mail archive of the
mailing list for the glibc project.
Re: [PATCH] elf: dl-minimal malloc needs to respect fundamental alignment
- From: Florian Weimer <fweimer at redhat dot com>
- To: "H.J. Lu" <hjl dot tools at gmail dot com>
- Cc: GNU C Library <libc-alpha at sourceware dot org>
- Date: Tue, 21 Jun 2016 15:06:08 +0200
- Subject: Re: [PATCH] elf: dl-minimal malloc needs to respect fundamental alignment
- Authentication-results: sourceware.org; auth=none
- References: <20160621111702 dot 39A5B402F6E95 at oldenburg dot str dot redhat dot com> <CAMe9rOpx1Vbr6_n8+SvGCe92TO5e+KdC3hNcNAN3LvfXhd79Ow at mail dot gmail dot com> <6ca009d9-433e-31f5-c3c0-c84ecc587059 at redhat dot com> <CAMe9rOpLkftyZ+4y=1E3pbrKRU-i0kE4bdQLGaCac_Q9v1cV6g at mail dot gmail dot com>
On 06/21/2016 03:00 PM, H.J. Lu wrote:
MALLOC_ALIGNMENT is potentially larger. malloc/tst-malloc-thread-fail tests
for alignment. To my knowledge, it passes on all regularly tested
architectures after commit dea39b13e2958a7f0e75b5594a06d97d61cc439f.
MALLOC_ALIGNMENT is kind of mapped to the malloc alignment of
a psABI. Shouldn't ld.so malloc have the same alignment of libc malloc?
I don't see why. MALLOC_ALIGNMENT has to match both the ABI constraint
and the malloc/malloc.c implementation constraint (which requires a
minimum alignment of 2 * sizeof (size_t)).
Other mallocs do not have matching implementation constraints, and it is
standard practice (in non-glibc mallocs) to lower the alignment for
allocations which are smaller in size than _Alignof (max_align_t),
although this is not compliant with C11.