This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug target/77330] __float128 segfaults on 32-bit x86 due to 8-byte malloc alignment
- From: "bernd.edlinger at hotmail dot de" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Wed, 24 Aug 2016 05:52:46 +0000
- Subject: [Bug target/77330] __float128 segfaults on 32-bit x86 due to 8-byte malloc alignment
- Auto-submitted: auto-generated
- References: <bug-77330-4@http.gcc.gnu.org/bugzilla/>
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77330
--- Comment #11 from Bernd Edlinger <bernd.edlinger at hotmail dot de> ---
(In reply to joseph@codesourcery.com from comment #10)
> On Tue, 23 Aug 2016, bernd.edlinger at hotmail dot de wrote:
>
> > Yes, but isn't that an ABI decision?
>
> It's the sort of ABI decision that's fixed after it's appeared in a
> release (whereas max_align_t is not the sort of thing that gets embedded
> in external ABIs in a way that gets broken when increasing the alignment,
> but something you use when writing your own allocator). HJ's i386 ABI
> document, version 1.1 is explicit about this ABI choice (and that for
> _Decimal128, etc.), so presumably it's intended to be followed the same by
> other implementations as well.
H.J's document did not mention any requirements on malloc.
It is only necessary if __float128 is declared a base type.
But __m512 is no base type, right?
Then MALLOC_ABI_ALIGNMENT should be changed to 128 at least for the i386.
For x864_64 this is already the case.
But note that it will be difficult to patch all glibc implementations
all over the world. Maybe it should be a configure option then?