Investigate CREL: compact relocation format for ELF
- Dominant language
- C#
- Stars
- 18.3k
- Forks
- 5.6k
- PR merge metrics
- PR metrics pending
Description
The CREL format for ELF relocations aims to reduce relocation section size via a more compact encoding:
https://maskray.me/blog/2024-03-09-a-compact-relocation-format-for-elf
Support is still evolving in LLVM (with ongoing patches, though x86-64 has been available for a while, e.g. since lld 16), but it may be worth exploring whether an experimental `ilc --experimental-elf-crel` or similar switch makes sense if it yields meaningful size savings for NativeAOT outputs.
One open question is how CREL interacts with the rest of the toolchain: does it require all input objects to be assembled with CREL support, or could emitting CREL from the object writer alone already provide benefits (i.e. mixing CREL and RELA inputs)?
Contributor guide
Assessment
This issue has not been assessed yet.