From bdc2b684df63f36c979991d0ef2381278895cb2d Mon Sep 17 00:00:00 2001 From: Daniel Kiss Date: Mon, 16 Dec 2024 11:49:37 +0100 Subject: [PATCH] [AAELF64] Introduce PURECODE section flag --- aaelf64/aaelf64.rst | 23 ++++++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) diff --git a/aaelf64/aaelf64.rst b/aaelf64/aaelf64.rst index ff4364b..015f65d 100644 --- a/aaelf64/aaelf64.rst +++ b/aaelf64/aaelf64.rst @@ -281,6 +281,10 @@ changes to the content of the document for that release. | | | - Clarify use of addends in MOVZ, MOVK, | | | | and ADRP | +---------------+--------------------+-----------------------------------------+ + | next | tbd | - In `Section Attribute Flags`_, added | + | | | `SHF_AARCH64_PURECODE` processor | + | | | specific section attribute flag. | + +---------------+--------------------+-----------------------------------------+ References ---------- @@ -617,8 +621,25 @@ The defined processor-specific section types are listed in the below table. All Section Attribute Flags ^^^^^^^^^^^^^^^^^^^^^^^ -There are no processor-specific section attribute flags defined. All processor-specific values are reserved to future revisions of this specification. +The defined processor-specific section attribute flags are listed in the following table. All processor-specific values are reserved to future revisions of this specification. + +.. class:: aaelf64-numbered-flags + +.. table:: Processor specific section attribute flags + + +--------------------------+----------------+----------------------------------------------------+ + | Name | Value | Comment | + +==========================+================+====================================================+ + | ``SHF_AARCH64_PURECODE`` | ``0x20000000`` | The contents of this section contains only program | + | | | instructions and no program data | + +--------------------------+----------------+----------------------------------------------------+ +If any section contained by a segment does not have the SHF_AARCH64_PURECODE +section flag set, the PF_R segment flag must be set in the program header for +the segment. If all sections contained by a segment have the SHF_AARCH64_PURECODE +section flag, a linker may optionally clear the PF_R segment flag in the +program header of the segment, to signal to the runtime that the program does +not rely on being able to read that segment. Merging of objects in sections with SHF\_MERGE ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~