Skip to content

Commit 11f628a

Browse files
[AAELF64] Introduce SHF_AARCH64_PURECODE section flag (ARM-software#304)
SHF_AARCH64_PURECODE section flag to indicate a given section doesn't contain data similarly to the SHF_ARM_PURECODE flag.
1 parent 38e541e commit 11f628a

File tree

1 file changed

+22
-1
lines changed

1 file changed

+22
-1
lines changed

aaelf64/aaelf64.rst

Lines changed: 22 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -284,6 +284,10 @@ changes to the content of the document for that release.
284284
| 2024Q4 | 29\ :sup:`th` | - Moved PAuthABI GOT relocations out of |
285285
| | November 2024 | reserved space. |
286286
+---------------+--------------------+-----------------------------------------+
287+
| next | tbd | - In `Section Attribute Flags`_, added |
288+
| | | `SHF_AARCH64_PURECODE` processor |
289+
| | | specific section attribute flag. |
290+
+---------------+--------------------+-----------------------------------------+
287291

288292
References
289293
----------
@@ -620,8 +624,25 @@ The defined processor-specific section types are listed in the below table. All
620624
Section Attribute Flags
621625
^^^^^^^^^^^^^^^^^^^^^^^
622626

623-
There are no processor-specific section attribute flags defined. All processor-specific values are reserved to future revisions of this specification.
627+
The defined processor-specific section attribute flags are listed in the following table. All other processor-specific values are reserved to future revisions of this specification.
628+
629+
.. class:: aaelf64-numbered-flags
630+
631+
.. table:: Processor specific section attribute flags
632+
633+
+--------------------------+----------------+----------------------------------------------------+
634+
| Name | Value | Comment |
635+
+==========================+================+====================================================+
636+
| ``SHF_AARCH64_PURECODE`` | ``0x20000000`` | The contents of this section contains only program |
637+
| | | instructions and no program data |
638+
+--------------------------+----------------+----------------------------------------------------+
624639

640+
If any section contained by a segment does not have the SHF_AARCH64_PURECODE
641+
section flag set, the PF_R segment flag must be set in the program header for
642+
the segment. If all sections contained by a segment have the SHF_AARCH64_PURECODE
643+
section flag, a linker may optionally clear the PF_R segment flag in the
644+
program header of the segment, to signal to the runtime that the program does
645+
not rely on being able to read that segment.
625646

626647
Merging of objects in sections with SHF\_MERGE
627648
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

0 commit comments

Comments
 (0)