https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77405

--- Comment #26 from H.J. Lu <hjl.tools at gmail dot com> ---
(In reply to John Marino from comment #25)
> I'm being told (one source) that that 16-byte alignment is not a x86-64 abi
> requirement.  I don't know either way.  Do you have an iron-clad reference
> about this requirement?
> 
> (Yes I know __gnat_malloc is libc malloc)

On Linux, "man malloc" shows

RETURN VALUE
       The malloc() and calloc() functions return a pointer to  the  allocated
       memory,  which  is  suitably  aligned for any built-in type.  On error,
       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Since __int128 and long double require 16 byte alignment, malloc should
return memory aligned to 16 bytes.

       these functions return NULL.  NULL may also be returned by a successful
       call  to  malloc() with a size of zero, or by a successful call to cal‐
       loc() with nmemb or size equal to zero.

Reply via email to