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

2014-02-17 Thread Kyle McMartin
On Fri, Feb 14, 2014 at 02:15:52PM +, Richard Earnshaw wrote:
> > 
> > I've put it in.
> > 
> > R.
> > 
> 
> Kyle, the PR is against 4.8.  Have you tested a back-port?
> 

Yeah, I've built it against both 4.9 and 4.8... I suspect it'll work
fine for 4.7 too if anyone is still using it.

regards, Kyle


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

2014-02-14 Thread Richard Earnshaw
On 14/02/14 14:14, Richard Earnshaw wrote:
> On 14/02/14 13:47, Jakub Jelinek wrote:
>> On Fri, Feb 14, 2014 at 01:43:26PM +, Richard Earnshaw wrote:
>>> On 31/01/14 19:59, Kyle McMartin wrote:
 2014-01-31  Kyle McMartin 

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

>>>
>>> This is OK, subject to RM approval.
>>
>> Ok.  Kyle, do you have commit access, or Richard, are you going to check it
>> in for Kyle?
>>
 --- a/gcc/config/host-linux.c
 +++ b/gcc/config/host-linux.c
 @@ -86,6 +86,8 @@
  # define TRY_EMPTY_VM_SPACE   0x6000
  #elif defined(__mc68000__)
  # define TRY_EMPTY_VM_SPACE   0x4000
 +#elif defined(__aarch64__)
 +# define TRY_EMPTY_VM_SPACE   0x10
  #elif defined(__ARM_EABI__)
  # define TRY_EMPTY_VM_SPACE 0x6000
  #elif defined(__mips__) && defined(__LP64__)
>>
>>  Jakub
>>
> 
> I've put it in.
> 
> R.
> 

Kyle, the PR is against 4.8.  Have you tested a back-port?

R.



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

2014-02-14 Thread Richard Earnshaw
On 14/02/14 13:47, Jakub Jelinek wrote:
> On Fri, Feb 14, 2014 at 01:43:26PM +, Richard Earnshaw wrote:
>> On 31/01/14 19:59, Kyle McMartin wrote:
>>> 2014-01-31  Kyle McMartin 
>>>
>>> PR pch/60010
>>> * config/host-linux.c (TRY_EMPTY_VM_SPACE): Define for AArch64.
>>>
>>
>> This is OK, subject to RM approval.
> 
> Ok.  Kyle, do you have commit access, or Richard, are you going to check it
> in for Kyle?
> 
>>> --- a/gcc/config/host-linux.c
>>> +++ b/gcc/config/host-linux.c
>>> @@ -86,6 +86,8 @@
>>>  # define TRY_EMPTY_VM_SPACE0x6000
>>>  #elif defined(__mc68000__)
>>>  # define TRY_EMPTY_VM_SPACE0x4000
>>> +#elif defined(__aarch64__)
>>> +# define TRY_EMPTY_VM_SPACE0x10
>>>  #elif defined(__ARM_EABI__)
>>>  # define TRY_EMPTY_VM_SPACE 0x6000
>>>  #elif defined(__mips__) && defined(__LP64__)
> 
>   Jakub
> 

I've put it in.

R.



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

2014-02-14 Thread Jakub Jelinek
On Fri, Feb 14, 2014 at 01:43:26PM +, Richard Earnshaw wrote:
> On 31/01/14 19:59, Kyle McMartin wrote:
> > 2014-01-31  Kyle McMartin 
> > 
> > PR pch/60010
> > * config/host-linux.c (TRY_EMPTY_VM_SPACE): Define for AArch64.
> > 
> 
> This is OK, subject to RM approval.

Ok.  Kyle, do you have commit access, or Richard, are you going to check it
in for Kyle?

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

Jakub


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

2014-02-14 Thread Richard Biener
On Fri, 14 Feb 2014, Richard Earnshaw wrote:

> On 31/01/14 19:59, Kyle McMartin 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 
> > 
> > PR pch/60010
> > * config/host-linux.c (TRY_EMPTY_VM_SPACE): Define for AArch64.
> > 
> 
> This is OK, subject to RM approval.

Works for me.

Richard.

> R.
> 
> > --- a/gcc/config/host-linux.c
> > +++ b/gcc/config/host-linux.c
> > @@ -86,6 +86,8 @@
> >  # define TRY_EMPTY_VM_SPACE0x6000
> >  #elif defined(__mc68000__)
> >  # define TRY_EMPTY_VM_SPACE0x4000
> > +#elif defined(__aarch64__)
> > +# define TRY_EMPTY_VM_SPACE0x10
> >  #elif defined(__ARM_EABI__)
> >  # define TRY_EMPTY_VM_SPACE 0x6000
> >  #elif defined(__mips__) && defined(__LP64__)
> > 
> 
> 
> 

-- 
Richard Biener 
SUSE / SUSE Labs
SUSE LINUX Products GmbH - Nuernberg - AG Nuernberg - HRB 16746
GF: Jeff Hawn, Jennifer Guild, Felix Imend"orffer


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

2014-02-14 Thread Richard Earnshaw
On 31/01/14 19:59, Kyle McMartin 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 
> 
>   PR pch/60010
>   * config/host-linux.c (TRY_EMPTY_VM_SPACE): Define for AArch64.
> 

This is OK, subject to RM approval.

R.

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




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

2014-01-31 Thread Andrew Pinski
On Fri, Jan 31, 2014 at 2:09 PM, Kyle McMartin  wrote:
> On Fri, Jan 31, 2014 at 02:03:25PM -0800, Andrew Pinski wrote:
>> > 2014-01-31  Kyle McMartin 
>> >
>> > 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.
>>
>
> Ah, good thinking. I was wondering if it would require a test of
> __LP64__ as well, but didn't think to look if AArch32 ABI was using
> __aarch64__ && !LP64 or __aarch32__ or something.


Well aarch32 uses __arm__ (the old arm toolchain in fact) but I am
talking about the ILP32 ABI for AARCH64.

Thanks,
Andrew

>
> Thanks Andrew!
>
> regards, Kyle


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

2014-01-31 Thread Kyle McMartin
On Fri, Jan 31, 2014 at 02:03:25PM -0800, Andrew Pinski wrote:
> > 2014-01-31  Kyle McMartin 
> >
> > 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.
> 

Ah, good thinking. I was wondering if it would require a test of
__LP64__ as well, but didn't think to look if AArch32 ABI was using
__aarch64__ && !LP64 or __aarch32__ or something.

Thanks Andrew!

regards, Kyle


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

2014-01-31 Thread Andrew Pinski
On Fri, Jan 31, 2014 at 11:59 AM, Kyle McMartin  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 
>
> 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_SPACE0x6000
>  #elif defined(__mc68000__)
>  # define TRY_EMPTY_VM_SPACE0x4000
> +#elif defined(__aarch64__)
> +# define TRY_EMPTY_VM_SPACE0x10
>  #elif defined(__ARM_EABI__)
>  # define TRY_EMPTY_VM_SPACE 0x6000
>  #elif defined(__mips__) && defined(__LP64__)


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

2014-01-31 Thread Kyle McMartin
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 

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_SPACE0x6000
 #elif defined(__mc68000__)
 # define TRY_EMPTY_VM_SPACE0x4000
+#elif defined(__aarch64__)
+# define TRY_EMPTY_VM_SPACE0x10
 #elif defined(__ARM_EABI__)
 # define TRY_EMPTY_VM_SPACE 0x6000
 #elif defined(__mips__) && defined(__LP64__)