[PATCH] Fix PCH on AArch64 (PR pch/60010)

Andrew Pinski pinskia@gmail.com
Fri Jan 31 22:09:00 GMT 2014


On Fri, Jan 31, 2014 at 11:59 AM, Kyle McMartin <kmcmarti@redhat.com> wrote:
> Hi,
>
> Similar to other architectures, failing to set TRY_EMPTY_VM_SPACE
> results in a Segmentation Fault and ICE in cc1plus when using
> precompiled headers and randomize_va_space is set. This patch fixes the
> issue, and now I can reliably build packages which use pch (wxGTK and
> openjdk in particular would fail every time. wxGTK has survived 30 build
> attempts without failure now.)
>
> (The exact value is unimportant, as long as it's in an unused area. I
> suspect that the fallback buffer_size code path hasn't been fixed up
> since the exec-shield days and could use a re-think now that mmap
> randomization is upstream. I've been trying to debug exactly why it
> fails for all architctures, so we can remove this, but haven't had much
> luck yet.)
>
> This is similar to pch/45979, pch/14940, target/25343.
>
> Bootstrapped and tested on aarch64-linux-gnu.
>
> regards, Kyle
>
> 2014-01-31  Kyle McMartin <kyle@redhat.com>
>
>         PR pch/60010
>         * config/host-linux.c (TRY_EMPTY_VM_SPACE): Define for AArch64.


If this gets merged before my ILP32 changes, I will make sure I
include a fix for ILP32 also.

Thanks,
Andrew

>
> --- a/gcc/config/host-linux.c
> +++ b/gcc/config/host-linux.c
> @@ -86,6 +86,8 @@
>  # define TRY_EMPTY_VM_SPACE    0x60000000
>  #elif defined(__mc68000__)
>  # define TRY_EMPTY_VM_SPACE    0x40000000
> +#elif defined(__aarch64__)
> +# define TRY_EMPTY_VM_SPACE    0x1000000000
>  #elif defined(__ARM_EABI__)
>  # define TRY_EMPTY_VM_SPACE     0x60000000
>  #elif defined(__mips__) && defined(__LP64__)



More information about the Gcc-patches mailing list