mirror of
https://sourceware.org/git/glibc.git
synced 2024-12-22 19:00:07 +00:00
Set MALLOC_ALIGNMENT to at least __alignof__ (long double) for new ABIs.
This commit is contained in:
parent
478143fa17
commit
cbc00a0398
@ -1,3 +1,9 @@
|
||||
2012-05-21 Roland McGrath <roland@hack.frob.com>
|
||||
|
||||
* malloc/malloc.c [!SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_16)]
|
||||
(MALLOC_ALIGNMENT): Set it to the greater of 2 * SIZE_SZ and
|
||||
__alignof__ (long double).
|
||||
|
||||
2012-05-21 Adhemerval Zanella <azanella@linux.vnet.ibm.com>
|
||||
|
||||
* sysdeps/powerpc/fpu/libm-test-ulps: Update.
|
||||
@ -22,7 +28,8 @@
|
||||
* sysdeps/sparc/sysdep.h: ... here. Include it.
|
||||
* sysdeps/unix/sysv/linux/s390/bits/hwcap.h: New file.
|
||||
* sysdeps/unix/sysv/linux/i386/nptl/libc.abilist: Update.
|
||||
* sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/nptl/libc.abilist: Update.
|
||||
* sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/nptl/libc.abilist:
|
||||
Update.
|
||||
* sysdeps/unix/sysv/linux/powerpc/powerpc64/nptl/libc.abilist: Update.
|
||||
* sysdeps/unix/sysv/linux/s390/s390-32/nptl/libc.abilist: Update.
|
||||
* sysdeps/unix/sysv/linux/s390/s390-64/nptl/libc.abilist: Update.
|
||||
|
@ -337,16 +337,20 @@ __malloc_assert (const char *assertion, const char *file, unsigned int line,
|
||||
|
||||
|
||||
#ifndef MALLOC_ALIGNMENT
|
||||
/* XXX This is the correct definition. 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/malloc_set_state than
|
||||
will returning blocks not adequately aligned for long double objects
|
||||
under -mlong-double-128.
|
||||
# if !SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_16)
|
||||
/* This is the correct definition when there is no past ABI to constrain it.
|
||||
|
||||
#define MALLOC_ALIGNMENT (2 * SIZE_SZ < __alignof__ (long double) \
|
||||
? __alignof__ (long double) : 2 * SIZE_SZ)
|
||||
*/
|
||||
#define MALLOC_ALIGNMENT (2 * SIZE_SZ)
|
||||
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
|
||||
|
||||
/* The corresponding bit mask value */
|
||||
|
Loading…
Reference in New Issue
Block a user