if (auto *Body = dyn_cast<DefinedSynthetic>(Cmd->Sym)) {
Body->Section = Cmd->Expression.Section();
- if (Body->Section) {
- uint64_t VA = 0;
- if (Body->Section->Flags & SHF_ALLOC)
- VA = Body->Section->Addr;
- Body->Value = Cmd->Expression(Dot) - VA;
- }
+ if (Body->Section)
+ Body->Value = Cmd->Expression(Dot) - Body->Section->Addr;
return;
}
}
uintX_t MinVA = std::numeric_limits<uintX_t>::max();
- for (OutputSectionBase *Sec : *OutputSections) {
+ for (OutputSectionBase *Sec : *OutputSections)
if (Sec->Flags & SHF_ALLOC)
MinVA = std::min<uint64_t>(MinVA, Sec->Addr);
- else
- Sec->Addr = 0;
- }
allocateHeaders<ELFT>(Phdrs, *OutputSections, MinVA);
}