[llvm-dev] [RFC] [ARM] Execute only support

Christof Douma via llvm-dev llvm-dev at lists.llvm.org
Tue Dec 8 08:42:19 PST 2015


Thanks for the pointers on floating point handling. I'll look into it.

Thanks,
Christof

> From: Dr D. Chisnall [mailto:dc552 at hermes.cam.ac.uk] On Behalf Of David
> Sent: 05 December 2015 10:17
> 
> On 4 Dec 2015, at 17:11, Tim Northover via llvm-dev <llvm-
> dev at lists.llvm.org> wrote:
> >
> > Another option is moving litpools to one of the data sections (as they
> > are in AArch64, for example). I'm not sure exactly where the crossover
> > is, but I'd be a little surprised if movw/movt/vmov was more efficient
> > for 128-bit constants.
> 
> Another option, with a little bit of linker support, would be to add an
> invariant that the literal pools are in a page that will be mapped at a
fixed
> offset from the code.  ARMv8 is designed to support large immediate
offsets
> to allow execute-only mappings, but materialising a constant of a fixed
> power of two is cheap on ARMv7 and loading literals from pc - 64KB (for
> example) would allow binaries to be mapped in alternating superpages of
> execute-only and read-only chunks.
> 
> David





More information about the llvm-dev mailing list