mirror of
https://git.FreeBSD.org/src.git
synced 2024-12-17 10:26:15 +00:00
lld: Simplify. NFC.
Obtained from: LLVM r323440 by Rafael Espindola
This commit is contained in:
parent
6fcb8605ef
commit
5a2ea37829
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=328545
@ -656,22 +656,18 @@ void LinkerScript::assignOffsets(OutputSection *Sec) {
|
||||
|
||||
switchTo(Sec);
|
||||
|
||||
if (Sec->LMAExpr) {
|
||||
uint64_t D = Dot;
|
||||
Ctx->LMAOffset = [=] { return Sec->LMAExpr().getValue() - D; };
|
||||
}
|
||||
if (Sec->LMAExpr)
|
||||
Ctx->LMAOffset = Sec->LMAExpr().getValue() - Dot;
|
||||
|
||||
if (MemoryRegion *MR = Sec->LMARegion) {
|
||||
uint64_t Offset = MR->Origin - Dot;
|
||||
Ctx->LMAOffset = [=] { return Offset; };
|
||||
}
|
||||
if (MemoryRegion *MR = Sec->LMARegion)
|
||||
Ctx->LMAOffset = MR->Origin - Dot;
|
||||
|
||||
// If neither AT nor AT> is specified for an allocatable section, the linker
|
||||
// will set the LMA such that the difference between VMA and LMA for the
|
||||
// section is the same as the preceding output section in the same region
|
||||
// https://sourceware.org/binutils/docs-2.20/ld/Output-Section-LMA.html
|
||||
if (Ctx->LMAOffset)
|
||||
Ctx->OutSec->LMAOffset = Ctx->LMAOffset();
|
||||
Ctx->OutSec->LMAOffset = Ctx->LMAOffset;
|
||||
|
||||
// The Size previously denoted how many InputSections had been added to this
|
||||
// section, and was used for sorting SHF_LINK_ORDER sections. Reset it to
|
||||
|
@ -206,7 +206,7 @@ class LinkerScript final {
|
||||
uint64_t ThreadBssOffset = 0;
|
||||
OutputSection *OutSec = nullptr;
|
||||
MemoryRegion *MemRegion = nullptr;
|
||||
std::function<uint64_t()> LMAOffset;
|
||||
uint64_t LMAOffset = 0;
|
||||
};
|
||||
|
||||
llvm::DenseMap<StringRef, OutputSection *> NameToOutputSection;
|
||||
|
Loading…
Reference in New Issue
Block a user