Skip to content

[AAELF64] Remove ILP32 - #414

Merged
smithp35 merged 5 commits into
ARM-software:mainfrom
smithp35:ilp32aaelf64
Sep 22, 2026
Merged

smithp35 merged 5 commits into
ARM-software:mainfrom
smithp35:ilp32aaelf64

Conversation

@smithp35

Copy link
Copy Markdown
Contributor

ILP32 support for ELF platforms in the documents has been in perpetual Beta, with new additions to the ABI not considering ILP32. Now that the one complete implementation in GCC has been deprecated (https://gcc.gnu.org/gcc-15/changes.html) we will be removing ILP32 from the ABI documentation.

Part of #369

@smithp35 smithp35 added the aaelf64 Issue affects ELF for the Arm Architecture label Aug 13, 2026
Comment thread aaelf64/aaelf64.rst Outdated
Comment thread aaelf64/aaelf64.rst Outdated
Comment thread aaelf64/aaelf64.rst Outdated
Comment thread aaelf64/aaelf64.rst
Comment thread aaelf64/aaelf64.rst Outdated

@smithp35 smithp35 left a comment

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Thanks for the review, will send another revision shortly.

Comment thread aaelf64/aaelf64.rst
Comment thread aaelf64/aaelf64.rst Outdated
Comment thread aaelf64/aaelf64.rst Outdated
Comment thread aaelf64/aaelf64.rst Outdated
Comment thread aaelf64/aaelf64.rst Outdated
Comment thread aaelf64/aaelf64.rst Outdated
Comment thread aaelf64/aaelf64.rst Outdated
ILP32 support for ELF platforms in the documents has been in perpetual
Beta, with new additions to the ABI not considering ILP32. Now that
the one complete implementation in GCC has been deprecated
(https://gcc.gnu.org/gcc-15/changes.html) we will be removing ILP32
from the ABI documentation.

Part of ARM-software#369
- Remove ILP32 note in favour of changelog.
- Remove ILP32 definition, inline the text in changelog.
* Fix typo.
* remove dangling list.
* One ELF class.
* R_AARCH64_ABS64 is singular.
The disambiguation between ilp32 and ilp64 relocation codes is
no longer necessary. The distinction between static and dynamic
relocations works without it.
All that remains in the section is the distinction between
static and dynamic relocations. Rename to ranges.

@stuij stuij left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

LGTM

@smithp35
smithp35 merged commit 5ca26a0 into ARM-software:main Sep 22, 2026
1 check passed
Comment thread aaelf64/aaelf64.rst

``R_AARCH64_ABS64`` may only appear in a well-formed executable or dynamic shared object. Note that this relocation is both a static and a dynamic relocation.

``R_AARCH64_COPY`` may only appear in executable ELF files where e\_type is set to ``ET_EXEC``. The effect is to cause the dynamic linker to locate the target symbol in a shared library object and then to copy the number of bytes specified by its ``st_size`` field to the place. The address of the place is then used to pre-empt all other references to the specified symbol. It is an error if the storage space allocated in the executable is insufficient to hold the full copy of the symbol. If the object being copied contains dynamic relocations then the effect must be as if those relocations were performed before the copy was made.

@philgee-oss philgee-oss Oct 12, 2026 •

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Remove extra spacing from

"to cause"

"of bytes"

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

ACK fix in #439

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

aaelf64 Issue affects ELF for the Arm Architecture

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants