[PATCH] i386: Increase MALLOC_ALIGNMENT to 16 [BZ #21120]
H.J. Lu
hjl.tools@gmail.com
Thu Jun 29 18:07:00 GMT 2017
On Thu, Jun 29, 2017 at 10:55 AM, Carlos O'Donell <carlos@redhat.com> wrote:
> On 06/29/2017 01:30 PM, H.J. Lu wrote:
>> GCC 7 changed the definition of max_align_t on i386:
>>
>> https://gcc.gnu.org/git/?p=gcc.git;a=commitdiff;h=9b5c49ef97e63cc63f1ffa13baf771368105ebe2
>>
>> As a result, glibc malloc no longer returns memory blocks which are as
>> aligned as max_align_t requires.
>>
>> This causes malloc/tst-malloc-thread-fail to fail with an error like this
>> one:
>>
>> error: allocation function 0, size 144 not aligned to 16
>>
>> This patch increases the malloc alignment to 16 for i386.
>>
>> Tested on i386 with GCC 7 and on x86-64. OK for master?
>>
>> H.J.
>> ---
>> [BZ #21120]
>> * sysdeps/generic/malloc-alignment.h: New file.
>> * sysdeps/i386/malloc-alignment.h: Likewise.
>> * sysdeps/generic/malloc-machine.h: Include <malloc-alignment.h>.
>
> Please use malloc-machine.h which was the previous header that provided
> machine-dependent malloc definitions. That way we remain consistent across
> releases and make it easier to backport such changes without adding a new
> header.
It won't work too well for Hurd since we have
./sysdeps/generic/malloc-machine.h
./sysdeps/mach/hurd/malloc-machine.h
./sysdeps/nptl/malloc-machine.h
What will Hurd/i386 get? malloc-alignment.h handles it automatically.
> OK with that change.
>
> --
> Cheers,
> Carlos.
--
H.J.
More information about the Libc-alpha
mailing list