[PATCH] malloc: Correct malloc alignment on 32-bit architectures [BZ #6527]

Florian Weimer fweimer@redhat.com
Fri May 20 12:13:00 GMT 2016


On 05/13/2016 11:31 PM, DJ Delorie wrote:
>
> fweimer@redhat.com (Florian Weimer) writes:
>> -#define MALLOC_STATE_VERSION (0 * 0x100l + 4l) /* major*0x100 + minor */
>> +#define MALLOC_STATE_VERSION (0 * 0x100l + 5l) /* major*0x100 + minor */
>
> Do we record a history of what changed for each version bump, in case we
> need to go back and somehow support an older one?

I see no reason to start this practice now, when the dumping 
functionality is rapidly approaching removal.  (Undumping will still be 
supported, of course.)

If necessary, we can consult the Git history.

>> -#ifndef MALLOC_ALIGNMENT
>> -# if !SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_16)
>> -/* This is the correct definition when there is no past ABI to constrain it.
>> -
>> -   Among configurations with a past ABI constraint, it differs from
>> -   2*SIZE_SZ only on powerpc32.  For the time being, changing this is
>> -   causing more compatibility problems due to malloc_get_state and
>> -   malloc_set_state than will returning blocks not adequately aligned for
>> -   long double objects under -mlong-double-128.  */
>> -
>> -#  define MALLOC_ALIGNMENT       (2 *SIZE_SZ < __alignof__ (long double)      \
>> -                                  ? __alignof__ (long double) : 2 *SIZE_SZ)
>> -# else
>> -#  define MALLOC_ALIGNMENT       (2 *SIZE_SZ)
>> -# endif
>> -#endif
>> +#define MALLOC_ALIGNMENT       (2 * SIZE_SZ < __alignof__ (long double)      \
>> +				? __alignof__ (long double) : 2 * SIZE_SZ)
>
> This drops the outer '#ifndef' which I think should remain.  The
> ChangeLog mentions an override for HPPA.

No such override exists anymore.

> If there is some platform-specific overrides for ppc32, we should take
> those out instead.

The patch is doing that.

I've restored the override possibility for now.  New version of the 
patch is attached.

Thanks,
Florian

-------------- next part --------------
A non-text attachment was scrubbed...
Name: bug6527.patch
Type: text/x-patch
Size: 2471 bytes
Desc: not available
URL: <http://sourceware.org/pipermail/libc-alpha/attachments/20160520/656ce267/attachment.bin>


More information about the Libc-alpha mailing list