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 <k...@redhat.com>

        PR pch/60010
        * config/host-linux.c (TRY_EMPTY_VM_SPACE): Define for AArch64.

--- 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__)

Reply via email to