Skip to content

Commit

Permalink
[AAELF64] Introduce SHF_AARCH64_PURECODE section flag (#304)
Browse files Browse the repository at this point in the history
SHF_AARCH64_PURECODE section flag to indicate a given section doesn't
contain data similarly to the SHF_ARM_PURECODE flag.
  • Loading branch information
DanielKristofKiss authored Feb 4, 2025
1 parent 38e541e commit 11f628a
Showing 1 changed file with 22 additions and 1 deletion.
23 changes: 22 additions & 1 deletion aaelf64/aaelf64.rst
Original file line number Diff line number Diff line change
Expand Up @@ -284,6 +284,10 @@ changes to the content of the document for that release.
| 2024Q4 | 29\ :sup:`th` | - Moved PAuthABI GOT relocations out of |
| | November 2024 | reserved space. |
+---------------+--------------------+-----------------------------------------+
| next | tbd | - In `Section Attribute Flags`_, added |
| | | `SHF_AARCH64_PURECODE` processor |
| | | specific section attribute flag. |
+---------------+--------------------+-----------------------------------------+

References
----------
Expand Down Expand Up @@ -620,8 +624,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 other 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
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Expand Down

0 comments on commit 11f628a

Please sign in to comment.