This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: PATCH: Define MALLOC_ALIGNMENT as 16 for x32


On Tue, May 15, 2012 at 10:04 AM, Roland McGrath <roland@hack.frob.com> wrote:
> I don't think that's the right way to do it.
> How about this instead?
>
> diff --git a/malloc/malloc.c b/malloc/malloc.c
> index 79cdc52..0000000 100644
> --- a/malloc/malloc.c
> +++ b/malloc/malloc.c
> @@ -337,16 +337,20 @@ __malloc_assert (const char *assertion,
>
>
> ?#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 */

Hi Roland,

I verified that it works for x32.  Can you check it in?

Thanks.


-- 
H.J.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]