diff options
author | Fangrui Song <i@maskray.me> | 2024-03-24 14:07:09 -0700 |
---|---|---|
committer | Fangrui Song <i@maskray.me> | 2024-03-24 14:07:09 -0700 |
commit | 18a49f03aa2b6bfeb073648b9eb75277a2386fc4 (patch) | |
tree | c6e1ced1dfc08e7af0709f62110bfd7e1f77d3c6 /clang/lib/Format/WhitespaceManager.cpp | |
parent | f0a8738401137c32f3e1b9799244ed643feb7bf0 (diff) | |
download | llvm-18a49f03aa2b6bfeb073648b9eb75277a2386fc4.zip llvm-18a49f03aa2b6bfeb073648b9eb75277a2386fc4.tar.gz llvm-18a49f03aa2b6bfeb073648b9eb75277a2386fc4.tar.bz2 |
[ELF] Merge relaIplt into relaDyn
`relaIplt` was added so that IRELATIVE relocations are placed at the end
of .rela.dyn (since https://reviews.llvm.org/D65651) or .rela.plt
(--pack-dyn-relocs=android[+relr]). Unfortunately, handling `relaIplt`
requires special cases all over the code base. We can extend
partitionRels/computeRels to partition both RELATIVE and IRELATIVE
relocations, rendering `relaIplt` unneeded.
The change allows IRELATIVE relocations in the DT_ANDROID_REL[A] table
(untested?!), which may be processed before other types of relocations.
This seems acceptable for Bionic's DEFINE_IFUNC_FOR use cases.
In addition, this change simplies changing .rel[a].dyn to a compact
relocation format (CREL).
SHF_INFO_LINK is removed from .rel[a].dyn with IRELATIVE relocations.
(See https://reviews.llvm.org/D89828).
Diffstat (limited to 'clang/lib/Format/WhitespaceManager.cpp')
0 files changed, 0 insertions, 0 deletions