[PATCH] D48791: [AArch64] Implement execute-only CodeGen Support.

Peter Smith via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Jul 4 02:43:45 PDT 2018


peter.smith added a comment.

Some early feedback from the AArch64 ABI along the lines of "Do you actually need SHF_AARCH64_PURECODE?" In Arm there has been a long history of using literal pools so it is important to mark code that has been compiled to avoid them as SHF_ARM_PURECODE. In AArch64 the expectation is that code is execute-only unless someone has forced it otherwise. An alternative model is to assume that all executable sections are implicitly execute-only and therefore all that you would need is an option at link time to remove PF_R from a program header that contained only executable sections. In essence we can have a one time declare all executable sections as execute-only at link time. I think that this would be compatible with adding SHF_AARCH64_PURECODE later if there was a code-generation model that made use of literal pools.


Repository:
  rL LLVM

https://reviews.llvm.org/D48791





More information about the llvm-commits mailing list