-
Notifications
You must be signed in to change notification settings - Fork 193
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-morello] ELF markers to identify Morello purecap binaries #101
Conversation
amilendra
commented
May 21, 2021
- Assign e_flags bit 16 (0x00010000) to identify CHERI purecap binaries.
- Add platform agnostic CHERI Note Section to specify abi variant.
1) Assign e_flags bit 16 (0x00010000) to identify CHERI purecap binaries. 2) Add platform agnostic CHERI Note Section to specify abi variant.
aaelf64-morello/aaelf64-morello.rst
Outdated
.. _Morello-specific e_flags: | ||
|
||
.. class:: aaelf64-morello-elf-flags | ||
|
||
.. table:: Morello-specific e_flags | ||
|
||
+---------------------------------+--------------------------------------------------------------+ | ||
| Value | Meaning | | ||
+---------------------------------+--------------------------------------------------------------+ | ||
| :code:`EF_AARCH64_MORELLO_EXT` | The ELF file contains uses an ABI where all pointers are | | ||
| (:code:`0x00010000`) | implemented using capabilities (Pure-capability ABI) | | ||
+---------------------------------+--------------------------------------------------------------+ | ||
|
||
Sections | ||
-------- | ||
|
||
Special Sections | ||
^^^^^^^^^^^^^^^^ | ||
|
||
A Morello toolchain can emit ELF Note sections in accordance to [CHERI_ELF_]. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Should Morello prove successful, do you want to reserve the ability to reuse this flag to be its real non-prototype successor? As it stands this bit will forever be wasted once the Morello program comes to an end.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
i.e. should this really be EF_AARCH64_CHERI_PURECAP
?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
That is my only concern as well and the reason I had originally suggested an ELF note with a name of "Morello" as it could be easily jettisoned in the future. Checking e_flags bits is of course vastly simpler to deal with than looking for an ELF note, so if the bit is potentially forward looking I'm happy with having a flag in e_flags.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It is difficult to make predictions at this stage. We can either reuse or rename the flag for a future architecture.
However we don't have any strong opinions on the name so will go with the more generic EF_AARCH64_CHERI_PURECAP
.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Change-Id: Ic9e6f3bde6d3862b8a955f740d82db1e280a352e
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks.