This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [PATCH 13/13] fix incompatible posix_memalign declaration on x86
- From: "H.J. Lu" <hjl dot tools at gmail dot com>
- To: Szabolcs Nagy <szabolcs dot nagy at arm dot com>
- Cc: "gcc-patches at gcc dot gnu dot org" <gcc-patches at gcc dot gnu dot org>, Gregor Richards <gregor dot richards at uwaterloo dot ca>, Rich Felker <dalias at libc dot org>, Szabolcs Nagy <nsz at port70 dot net>
- Date: Fri, 15 May 2015 08:05:32 -0700
- Subject: Re: [PATCH 13/13] fix incompatible posix_memalign declaration on x86
- Authentication-results: sourceware.org; auth=none
- References: <55354A4A dot 4060702 at arm dot com> <55354CC3 dot 6070103 at arm dot com>
On Mon, Apr 20, 2015 at 12:00 PM, Szabolcs Nagy <szabolcs.nagy@arm.com> wrote:
> The posix_memalign declaration is incompatible with musl for C++,
> because of the exception specification. It also pollutes the
> namespace and lacks protection against a potential macro definition
> that is allowed by POSIX. The fix avoids source level namespace
> pollution but retains the dependency on the posix_memalign extern
> libc symbol.
>
> The fix is ugly, but it is not possible to correctly redeclare a
> libc function in a public gcc header for C++.
>
>
> gcc/Changelog:
>
> 2015-04-16 Szabolcs Nagy <szabolcs.nagy@arm.com>
>
> * config/i386/pmm_malloc.h (posix_memalign): Renamed to ...
> (__gcc_posix_memalign): This. Use posix_memalign as extern
> symbol only.
What does this try to achieve? Do you have a testcase which
fails before and passes with this patch?
--
H.J.