Skip to content

Commit

Permalink
[AAELF64] Reserve dynamic tags used by memtagabielf64 and pauthabi64
Browse files Browse the repository at this point in the history
The alpha ELF extension documents define dynamic tags. To avoid
avoidable clashes with the main specification, mark the values
used as reserved.
  • Loading branch information
smithp35 committed Aug 16, 2023
1 parent d281283 commit 4ae9b0c
Showing 1 changed file with 34 additions and 9 deletions.
43 changes: 34 additions & 9 deletions aaelf64/aaelf64.rst
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@

.. _AAPCS64: https://github.com/ARM-software/abi-aa/releases
.. _Addenda32: https://github.com/ARM-software/abi-aa/releases
.. _MemTagABIELF64: https://github.com/ARM-software/abi-aa/releases
.. _PAuthABIELF64: https://github.com/ARM-software/abi-aa/releases
.. _SCO-ELF: http://www.sco.com/developers/gabi/
.. _LINUX_ABI: https://github.com/hjl-tools/linux-abi/wiki
Expand Down Expand Up @@ -266,6 +267,10 @@ changes to the content of the document for that release.
| | | Linking`_, document new |
| | | PT_AARCH64_MEMTAG_MTE segment. |
+---------------+--------------------+-----------------------------------------+
| 2023Q3 | | - In `Dynamic Section`_, reserve tags |
| | | used by `PAuthABIELF64`_ and |
| | | - `MemTagABIELF64`_. |
+---------------+--------------------+-----------------------------------------+


References
Expand All @@ -284,6 +289,8 @@ This document refers to, or is referred to by, the following documents.
+------------------------------+----------------------------------------------------------------------------------------------+-------------------------------------------------------------+
| Addenda32_ | IHI 0045 | Addenda to, and Errata in, the ABI for the Arm Architecture |
+------------------------------+----------------------------------------------------------------------------------------------+-------------------------------------------------------------+
| MemTagABIELF64_ | memtagabielf64 | MemTag Extension to ELF for the Arm 64-bit Architecture |
+------------------------------+----------------------------------------------------------------------------------------------+-------------------------------------------------------------+
| PAuthABIELF64_ | pauthabielf64 | PAuth Extension to ELF for the Arm 64-bit Architecture |
+------------------------------+----------------------------------------------------------------------------------------------+-------------------------------------------------------------+
| LSB_ | http://www.linuxbase.org/ | Linux Standards Base |
Expand Down Expand Up @@ -1906,15 +1913,31 @@ AArch64 specifies the following processor-specific dynamic array tags.

.. table:: AArch64 specific dynamic array tags

+---------------------------+------------+--------+-------------------+-------------------+
| Name | Value | d\_un | Executable | Shared Object |
+===========================+============+========+===================+===================+
| DT\_AARCH64\_BTI\_PLT | 0x70000001 | d\_val | Platform specific | Platform Specific |
+---------------------------+------------+--------+-------------------+-------------------+
| DT\_AARCH64\_PAC\_PLT | 0x70000003 | d\_val | Platform specific | Platform Specific |
+---------------------------+------------+--------+-------------------+-------------------+
| DT\_AARCH64\_VARIANT\_PCS | 0x70000005 | d\_val | Platform specific | Platform Specific |
+---------------------------+------------+--------+-------------------+-------------------+
+--------------------------------+------------+--------+-------------------+-------------------+
| Name | Value | d\_un | Executable | Shared Object |
+================================+============+========+===================+===================+
| DT\_AARCH64\_BTI\_PLT | 0x70000001 | d\_val | Platform specific | Platform Specific |
+--------------------------------+------------+--------+-------------------+-------------------+
| DT\_AARCH64\_PAC\_PLT | 0x70000003 | d\_val | Platform specific | Platform Specific |
+--------------------------------+------------+--------+-------------------+-------------------+
| DT\_AARCH64\_VARIANT\_PCS | 0x70000005 | d\_val | Platform specific | Platform Specific |
+--------------------------------+------------+--------+-------------------+-------------------+
| RESERVED for `MemTagABIELF64`_ | 0x70000009 | d\_val | Platform specific | Platform Specific |
+--------------------------------+------------+--------+-------------------+-------------------+
| RESERVED for `MemTagABIELF64`_ | 0x7000000b | d\_val | Platform specific | Platform Specific |
+--------------------------------+------------+--------+-------------------+-------------------+
| RESERVED for `MemTagABIELF64`_ | 0x7000000c | d\_ptr | Platform specific | Platform Specific |
+--------------------------------+------------+--------+-------------------+-------------------+
| RESERVED for `MemTagABIELF64`_ | 0x7000000d | d\_val | Platform specific | Platform Specific |
+--------------------------------+------------+--------+-------------------+-------------------+
| RESERVED for `MemTagABIELF64`_ | 0x7000000f | d\_val | Platform specific | Platform Specific |
+--------------------------------+------------+--------+-------------------+-------------------+
| RESERVED for `PAuthABIELF64`_ | 0x70000011 | d\_val | Platform specific | Platform Specific |
+--------------------------------+------------+--------+-------------------+-------------------+
| RESERVED for `PAuthABIELF64`_ | 0x70000012 | d\_ptr | Platform specific | Platform Specific |
+--------------------------------+------------+--------+-------------------+-------------------+
| RESERVED for `PAuthABIELF64`_ | 0x70000013 | d\_val | Platform specific | Platform Specific |
+--------------------------------+------------+--------+-------------------+-------------------+

``DT_AARCH64_BTI_PLT`` indicates PLTs enabled with Branch Target Identification
mechanism.
Expand All @@ -1929,6 +1952,8 @@ Pointer Authentication.
relocations that reference symbols marked with the ``STO_AARCH64_VARIANT_PCS``
flag set in their ``st_other`` field.

See `MemTagABIELF64`_ and `PAuthABIELF64`_ for details of reserved tags.

.. raw:: pdf
PageBreak
Expand Down

0 comments on commit 4ae9b0c

Please sign in to comment.