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

[sysvabi] Make hard-float a requirement for sysvabi #233

Open
wants to merge 1 commit 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
14 changes: 13 additions & 1 deletion sysvabi64/sysvabi64.rst
Original file line number Diff line number Diff line change
Expand Up @@ -200,8 +200,10 @@ Change History
| 02Alpha | 6\ :sup:`th` April 2023 | Define the processor specific interpretation for |
| | | DT_PLTGOT |
+------------+------------------------------+-------------------------------------------------------+
| 2023Q4 | 24\ :sup:`th` 2023 | Added Program Property, Program Loading and |
| 2023Q4 | 24\ :sup:`th` November 2023 | Added Program Property, Program Loading and |
| | | Dynamic Linking contents from `AAELF64`_ |
| | | |
| | | Require hard-float ABI for sysvabi platforms |
+------------+------------------------------+-------------------------------------------------------+

References
Expand Down Expand Up @@ -363,6 +365,16 @@ AArch64 system.
Low Level Information
=====================

Hardware Requirements
---------------------

The AArch64 System V ABI requires the presence of SIMD and FP registers.

Procedure call standard requirements
------------------------------------

The AArch64 System V ABI uses The Base Procedure Call Standard from (AAPCS64_).
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There are some other ABI variations mentioned in the The standard variants section of AAPCS64 (fp16 format, sizes of some types), should we mention any of them here too? I think it would be enough to say that the LP64 data model must be used, maybe with an option to use ILP32.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'll have a think. I am a little worried that the statement is a bit too strong, and could rule out things like the vector PCS.

The opening paragraph of https://github.com/ARM-software/abi-aa/blob/main/aapcs64/aapcs64.rst#6the-base-procedure-call-standard has:

Application code is expected to conform to one of three data models defined in this standard; ILP32, LP64 or LLP64.

I think that is something close to what I want to say, without duplicating the text exactly. Perhaps I can find a way of referencing it more directly.


Not available for this Alpha release.

.. raw:: pdf
Expand Down
Loading