1
0
mirror of https://sourceware.org/git/glibc.git synced 2025-06-12 08:21:58 +03:00

Set MALLOC_ALIGNMENT to at least __alignof__ (long double) for new ABIs.

This commit is contained in:
Roland McGrath
2012-05-21 11:13:10 -07:00
parent 478143fa17
commit cbc00a0398
2 changed files with 21 additions and 10 deletions

View File

@ -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 */