[PATCH] D48791: [AArch64] Implement execute-only CodeGen Support.
Peter Smith via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Mon Jul 2 02:48:56 PDT 2018
peter.smith added a comment.
There is an ABI issue with using an Arm specific flag that isn't defined in AArch64. I've not had a chance to check over the code yet, but will try to do so later today.
================
Comment at: tools/llvm-readobj/ELFDumper.cpp:1106
+static const EnumEntry<unsigned> ElfAArch64SectionFlags[] = {
+ LLVM_READOBJ_ENUM_ENT(ELF, SHF_ARM_PURECODE)
+};
----------------
SHF_ARM_PURECODE is defined in the Processor specific part of ELF Section flags (SHF_MASKPROC [1]) it is only defined for Arm (see SHF_NOREAD) [2] and is not currently defined for AArch64. If we use it here we risk the ABI using the same flag for something else and we will have a binary compatibility problem.
In practice I think that it would make sense to define SHF_AARCH64_PURECODE with the same value. I will raise an issue with the AArch64 ABI, it would be good to get at least some indication that this value will be reserved so that we can use it.
[1] Generic ELF Spec http://www.sco.com/developers/gabi/latest/ch4.sheader.html
[2] ELF for the Arm Architecture http://infocenter.arm.com/help/topic/com.arm.doc.ihi0044f/IHI0044F_aaelf.pdf
[3] ELF for the Arm 64-bit Architecture http://infocenter.arm.com/help/topic/com.arm.doc.ihi0056b/IHI0056B_aaelf64.pdf
Repository:
rL LLVM
https://reviews.llvm.org/D48791
More information about the llvm-commits
mailing list