Skip to content

Commit a78fa26

Browse files
authored
[aaelf64-morello] Document program headers and dynamic section (#359)
PT_AARCH64_MEMTAG_CHERI has been used by GDB and CheriBSD for several years at this point, after discussion with Arm and Linaro, but was never officially documented. Thankfully it appears that nothing has taken this value in the meantime. No Morello-specific dynamic tags exist.
1 parent 95164a4 commit a78fa26

File tree

1 file changed

+25
-0
lines changed

1 file changed

+25
-0
lines changed

aaelf64-morello/aaelf64-morello.rst

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1023,6 +1023,31 @@ the dynamic linker generates the table itself based on the ``R_MORELLO_GLOB_DAT`
10231023
``R_MORELLO_JUMP_SLOT`` relocations created by the static linker. The dynamic linker
10241024
writes the generated capabilities back into the ``.got`` entry.
10251025

1026+
Program Header
1027+
--------------
1028+
1029+
A Morello toolchain can emit segments in accordance to [CHERI_ELF_]. The
1030+
following fields have Morello-specific meanings.
1031+
1032+
p\_type
1033+
The below table lists the Morello-specific segment types.
1034+
1035+
.. table:: Morello-specific segment types
1036+
1037+
+-----------------------------+------------+------------------------------------------------------+
1038+
| Name | p\_type | Meaning |
1039+
+=============================+============+======================================================+
1040+
| ``PT_AARCH64_MEMTAG_CHERI`` | 0x70000003 | Reserved for capability tag data dumps in core files |
1041+
+-----------------------------+------------+------------------------------------------------------+
1042+
1043+
``PT_AARCH64_MEMTAG_CHERI`` segments (if present) hold capability tags for a
1044+
particular memory range, packed as one bit per tag.
1045+
1046+
Dynamic Section
1047+
---------------
1048+
1049+
A Morello toolchain can emit dynamic tags in accordance to [CHERI_ELF_].
1050+
10261051
APPENDIX
10271052
========
10281053
The status of this appendix is ``informative``.

0 commit comments

Comments
 (0)