[lld] 5c75cc5 - [ELF] Change nonnull pointer parameters to references. NFC
Fangrui Song via llvm-commits
llvm-commits at lists.llvm.org
Wed Dec 22 21:10:03 PST 2021
Author: Fangrui Song
Date: 2021-12-22T21:09:57-08:00
New Revision: 5c75cc51b339e9c742ff5d1e88e330cdec88c983
URL: https://github.com/llvm/llvm-project/commit/5c75cc51b339e9c742ff5d1e88e330cdec88c983
DIFF: https://github.com/llvm/llvm-project/commit/5c75cc51b339e9c742ff5d1e88e330cdec88c983.diff
LOG: [ELF] Change nonnull pointer parameters to references. NFC
Added:
Modified:
lld/ELF/Relocations.cpp
lld/ELF/SyntheticSections.cpp
lld/ELF/SyntheticSections.h
Removed:
################################################################################
diff --git a/lld/ELF/Relocations.cpp b/lld/ELF/Relocations.cpp
index 466c80d91dd6..c4438be0cb59 100644
--- a/lld/ELF/Relocations.cpp
+++ b/lld/ELF/Relocations.cpp
@@ -295,12 +295,12 @@ static SmallSet<SharedSymbol *, 4> getSymbolsAt(SharedSymbol &ss) {
// in .bss and in the case of a canonical plt entry it is in .plt. This function
// replaces the existing symbol with a Defined pointing to the appropriate
// location.
-static void replaceWithDefined(Symbol &sym, SectionBase *sec, uint64_t value,
+static void replaceWithDefined(Symbol &sym, SectionBase &sec, uint64_t value,
uint64_t size) {
Symbol old = sym;
sym.replace(Defined{sym.file, sym.getName(), sym.binding, sym.stOther,
- sym.type, value, size, sec});
+ sym.type, value, size, &sec});
sym.pltIndex = old.pltIndex;
sym.gotIndex = old.gotIndex;
@@ -379,9 +379,9 @@ template <class ELFT> static void addCopyRelSymbolImpl(SharedSymbol &ss) {
// dynamic symbol for each one. This causes the copy relocation to correctly
// interpose any aliases.
for (SharedSymbol *sym : getSymbolsAt<ELFT>(ss))
- replaceWithDefined(*sym, sec, 0, sym->size);
+ replaceWithDefined(*sym, *sec, 0, sym->size);
- mainPart->relaDyn->addSymbolReloc(target->copyRel, sec, 0, ss);
+ mainPart->relaDyn->addSymbolReloc(target->copyRel, *sec, 0, ss);
}
static void addCopyRelSymbol(SharedSymbol &ss) {
@@ -1024,7 +1024,7 @@ static void processRelocAux(InputSectionBase &sec, RelExpr expr, RelType type,
} else if (rel != 0) {
if (config->emachine == EM_MIPS && rel == target->symbolicRel)
rel = target->relativeRel;
- sec.getPartition().relaDyn->addSymbolReloc(rel, &sec, offset, sym, addend,
+ sec.getPartition().relaDyn->addSymbolReloc(rel, sec, offset, sym, addend,
type);
// MIPS ABI turns using of GOT and dynamic relocations inside out.
@@ -1244,14 +1244,14 @@ handleTlsRelocation(RelType type, Symbol &sym, InputSectionBase &c,
in.got->relocations.push_back(
{R_ADDEND, target->symbolicRel, off, 1, &sym});
else
- mainPart->relaDyn->addSymbolReloc(target->tlsModuleIndexRel, in.got,
+ mainPart->relaDyn->addSymbolReloc(target->tlsModuleIndexRel, *in.got,
off, sym);
// If the symbol is preemptible we need the dynamic linker to write
// the offset too.
uint64_t offsetOff = off + config->wordsize;
if (sym.isPreemptible)
- mainPart->relaDyn->addSymbolReloc(target->tlsOffsetRel, in.got,
+ mainPart->relaDyn->addSymbolReloc(target->tlsOffsetRel, *in.got,
offsetOff, sym);
else
in.got->relocations.push_back(
@@ -1269,7 +1269,7 @@ handleTlsRelocation(RelType type, Symbol &sym, InputSectionBase &c,
addend, &sym});
if (!sym.isInGot()) {
in.got->addEntry(sym);
- mainPart->relaDyn->addSymbolReloc(target->tlsGotRel, in.got,
+ mainPart->relaDyn->addSymbolReloc(target->tlsGotRel, *in.got,
sym.getGotOffset(), sym);
}
} else {
@@ -1430,7 +1430,7 @@ static void scanReloc(InputSectionBase &sec, OffsetGetter &getOffset, RelTy *&i,
// direct relocation on through.
if (sym.isGnuIFunc() && config->zIfuncNoplt) {
sym.exportDynamic = true;
- mainPart->relaDyn->addSymbolReloc(type, &sec, offset, sym, addend, type);
+ mainPart->relaDyn->addSymbolReloc(type, sec, offset, sym, addend, type);
return;
}
@@ -1626,7 +1626,7 @@ void elf::postScanRelocations() {
assert(sym.isFunc() && sym.needsPlt);
if (!sym.isDefined()) {
replaceWithDefined(
- sym, in.plt,
+ sym, *in.plt,
target->pltHeaderSize + target->pltEntrySize * sym.pltIndex, 0);
sym.needsCopy = true;
if (config->emachine == EM_PPC) {
diff --git a/lld/ELF/SyntheticSections.cpp b/lld/ELF/SyntheticSections.cpp
index 9691bac76e44..def06da2bcbc 100644
--- a/lld/ELF/SyntheticSections.cpp
+++ b/lld/ELF/SyntheticSections.cpp
@@ -1007,14 +1007,14 @@ void MipsGotSection::build() {
// thread-locals that have been marked as local through a linker script)
if (!s->isPreemptible && !config->shared)
continue;
- mainPart->relaDyn->addSymbolReloc(target->tlsModuleIndexRel, this,
+ mainPart->relaDyn->addSymbolReloc(target->tlsModuleIndexRel, *this,
offset, *s);
// However, we can skip writing the TLS offset reloc for non-preemptible
// symbols since it is known even in shared libraries
if (!s->isPreemptible)
continue;
offset += config->wordsize;
- mainPart->relaDyn->addSymbolReloc(target->tlsOffsetRel, this, offset,
+ mainPart->relaDyn->addSymbolReloc(target->tlsOffsetRel, *this, offset,
*s);
}
}
@@ -1027,7 +1027,7 @@ void MipsGotSection::build() {
// Dynamic relocations for "global" entries.
for (const std::pair<Symbol *, size_t> &p : got.global) {
uint64_t offset = p.second * config->wordsize;
- mainPart->relaDyn->addSymbolReloc(target->relativeRel, this, offset,
+ mainPart->relaDyn->addSymbolReloc(target->relativeRel, *this, offset,
*p.first);
}
if (!config->isPic)
@@ -1573,12 +1573,12 @@ RelocationBaseSection::RelocationBaseSection(StringRef name, uint32_t type,
dynamicTag(dynamicTag), sizeDynamicTag(sizeDynamicTag) {}
void RelocationBaseSection::addSymbolReloc(RelType dynType,
- InputSectionBase *isec,
+ InputSectionBase &isec,
uint64_t offsetInSec, Symbol &sym,
int64_t addend,
Optional<RelType> addendRelType) {
- addReloc(DynamicReloc::AgainstSymbol, dynType, isec, offsetInSec, sym, addend,
- R_ADDEND, addendRelType ? *addendRelType : target->noneRel);
+ addReloc(DynamicReloc::AgainstSymbol, dynType, &isec, offsetInSec, sym,
+ addend, R_ADDEND, addendRelType ? *addendRelType : target->noneRel);
}
void RelocationBaseSection::addRelativeReloc(
diff --git a/lld/ELF/SyntheticSections.h b/lld/ELF/SyntheticSections.h
index 8953601da390..e49f2e324536 100644
--- a/lld/ELF/SyntheticSections.h
+++ b/lld/ELF/SyntheticSections.h
@@ -519,7 +519,7 @@ class RelocationBaseSection : public SyntheticSection {
/// using relocations on the input section (e.g. MipsGotSection::writeTo()).
void addReloc(const DynamicReloc &reloc);
/// Add a dynamic relocation against \p sym with an optional addend.
- void addSymbolReloc(RelType dynType, InputSectionBase *isec,
+ void addSymbolReloc(RelType dynType, InputSectionBase &isec,
uint64_t offsetInSec, Symbol &sym, int64_t addend = 0,
llvm::Optional<RelType> addendRelType = llvm::None);
/// Add a relative dynamic relocation that uses the target address of \p sym
More information about the llvm-commits
mailing list