Re: [Aarch64] Enable descriptors for nested functions in Ada

2017-04-03 Thread Eric Botcazou
> Thanks, that at least fixes tasking. Great, here's what I have installed on the mainline (it only affects the Ada compiler) after testing on x86-64/Linux, Aarch64/Linux and SPARC/Solaris. 2017-04-03 Eric Botcazou * tree-nested.c (get_descriptor_type): Make sure that the alignment

Re: [Aarch64] Enable descriptors for nested functions in Ada

2017-04-03 Thread Andreas Schwab
On Apr 03 2017, Eric Botcazou wrote: >> In which way are the bits reserved? > > I don't know, but that's what I was told by the ARM folks. > >> This does not work for ILP32, because the descriptor address starts off >> at address 4 modulo 8, and adding 4 clears the bit. > > I see, can you try the

Re: [Aarch64] Enable descriptors for nested functions in Ada

2017-04-03 Thread Eric Botcazou
> In which way are the bits reserved? I don't know, but that's what I was told by the ARM folks. > This does not work for ILP32, because the descriptor address starts off > at address 4 modulo 8, and adding 4 clears the bit. I see, can you try the attached patchlet? -- Eric BotcazouIndex: tree

Re: [Aarch64] Enable descriptors for nested functions in Ada

2017-04-03 Thread Andreas Schwab
On Nov 13 2016, Eric Botcazou wrote: > Index: config/aarch64/aarch64.c > === > --- config/aarch64/aarch64.c (revision 242334) > +++ config/aarch64/aarch64.c (working copy) > @@ -14502,6 +14502,10 @@ aarch64_optab_supported_p (int o

Re: [Aarch64] Enable descriptors for nested functions in Ada

2017-02-14 Thread Eric Botcazou
> Doesn't this imply a minimum function alignment of 8? That's not guaranteed > on AArch64, at least -mcpu=exynos-m1 uses 4-byte alignment. Well, the initial setting was 2, which would have required 4-byte alignment only and would have been perfectly fine IMO, but it was deemed problematic, henc

Re: [Aarch64] Enable descriptors for nested functions in Ada

2017-02-14 Thread Wilco Dijkstra
On 13/11/16 22:30, Eric Botcazou wrote: > +/* The architecture reserves bits 0 and 1 so use bit 2 for descriptors. */ > +#undef TARGET_CUSTOM_FUNCTION_DESCRIPTORS > +#define TARGET_CUSTOM_FUNCTION_DESCRIPTORS 4 Doesn't this imply a minimum function alignment of 8? That's not guaranteed on AArch64

Re: [Aarch64] Enable descriptors for nested functions in Ada

2017-02-14 Thread Richard Earnshaw (lists)
On 13/11/16 22:30, Eric Botcazou wrote: > Similarly to x86, PowerPC and SPARC, this enables the use of custom run-time > descriptors in Ada, thus eliminating the need for trampolines and executable > stack in presence of pointers to nested functions. > > Tested on Aarch64/Linux, OK for the mainl

[Aarch64] Enable descriptors for nested functions in Ada

2016-11-13 Thread Eric Botcazou
Similarly to x86, PowerPC and SPARC, this enables the use of custom run-time descriptors in Ada, thus eliminating the need for trampolines and executable stack in presence of pointers to nested functions. Tested on Aarch64/Linux, OK for the mainline? 2016-11-13 Eric Botcazou PR ada