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

Kyle McMartin kmcmarti@redhat.com
Fri Jan 31 21:24:00 GMT 2014


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.

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