Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[AAELF64] Introduce SHF_AARCH64_PURECODE section flag #304

Open
wants to merge 2 commits into
base: main
Choose a base branch
from
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
23 changes: 22 additions & 1 deletion aaelf64/aaelf64.rst
Original file line number Diff line number Diff line change
Expand Up @@ -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
----------
Expand Down Expand Up @@ -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 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
Loading