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:
@ -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 */
|
||||
|
Reference in New Issue
Block a user