aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/CodeGen/BasicBlockSections.cpp
diff options
context:
space:
mode:
authorFangrui Song <i@maskray.me>2024-01-08 16:12:49 -0800
committerFangrui Song <i@maskray.me>2024-01-08 16:12:49 -0800
commit7c89b20e02ff079ec84fc54880dbc6c063d8c915 (patch)
treeea1a13c3c23618538b6dcb487cc37d1e9213cba1 /llvm/lib/CodeGen/BasicBlockSections.cpp
parent6958986f77bdbedd6ba571af7b546018f9108067 (diff)
downloadllvm-7c89b20e02ff079ec84fc54880dbc6c063d8c915.zip
llvm-7c89b20e02ff079ec84fc54880dbc6c063d8c915.tar.gz
llvm-7c89b20e02ff079ec84fc54880dbc6c063d8c915.tar.bz2
[ELF] OVERLAY: support optional start address and LMA
https://reviews.llvm.org/D44780 implemented rudimentary support for OVERLAY. The start address and `AT(ldaddr)` in `OVERLAY [start] : [NOCROSSREFS] [AT ( ldaddr )]` are not optional. In addition, there are two issues: * When the start address is `.`, subsequent sections don't share the address of the first overlay section. * When the first overlay section is empty and discardable, `p_paddr` is incorrectly zero. This is because a discarded section has a zero address, causing `prev->getLMA() + prev->size` where `prev` refers to the first section to evaluate to zero. This patch supports optional start address and LMA and fix the issues. Close #77265 Pull Request: https://github.com/llvm/llvm-project/pull/77272
Diffstat (limited to 'llvm/lib/CodeGen/BasicBlockSections.cpp')
0 files changed, 0 insertions, 0 deletions