forked from OSchip/llvm-project
lld-link: Spelling fixes in comments and minor style tweaks
Changes a few things I noticed while reading this code. - fix a few typos in comments - remove two `auto` uses where the type wasn't clear to me - add comment saying that two sequential checks for `if (SparseChunks[SectionNumber] == PendingComdat)` are intentional - name two parameters No behavior change. Differential Revision: https://reviews.llvm.org/D56677 llvm-svn: 351101
This commit is contained in:
parent
cadf4b61f0
commit
1f3ab98aca
|
@ -311,7 +311,7 @@ static const uint8_t ImportThunkARM64[] = {
|
|||
};
|
||||
|
||||
// Windows-specific.
|
||||
// A chunk for DLL import jump table entry. In a final output, it's
|
||||
// A chunk for DLL import jump table entry. In a final output, its
|
||||
// contents will be a JMP instruction to some __imp_ symbol.
|
||||
class ImportThunkChunkX64 : public Chunk {
|
||||
public:
|
||||
|
|
|
@ -155,9 +155,10 @@ SectionChunk *ObjFile::readSection(uint32_t SectionNumber,
|
|||
const coff_aux_section_definition *Def,
|
||||
StringRef LeaderName) {
|
||||
const coff_section *Sec;
|
||||
StringRef Name;
|
||||
if (auto EC = COFFObj->getSection(SectionNumber, Sec))
|
||||
fatal("getSection failed: #" + Twine(SectionNumber) + ": " + EC.message());
|
||||
|
||||
StringRef Name;
|
||||
if (auto EC = COFFObj->getSectionName(Sec, Name))
|
||||
fatal("getSectionName failed: #" + Twine(SectionNumber) + ": " +
|
||||
EC.message());
|
||||
|
@ -181,8 +182,8 @@ SectionChunk *ObjFile::readSection(uint32_t SectionNumber,
|
|||
// of the linker; they are just a data section containing relocations.
|
||||
// We can just link them to complete debug info.
|
||||
//
|
||||
// CodeView needs a linker support. We need to interpret and debug
|
||||
// info, and then write it to a separate .pdb file.
|
||||
// CodeView needs linker support. We need to interpret debug info,
|
||||
// and then write it to a separate .pdb file.
|
||||
|
||||
// Ignore DWARF debug info unless /debug is given.
|
||||
if (!Config->Debug && Name.startswith(".debug_"))
|
||||
|
@ -290,7 +291,7 @@ Symbol *ObjFile::createRegular(COFFSymbolRef Sym) {
|
|||
return Symtab->addUndefined(Name, this, false);
|
||||
}
|
||||
if (SC)
|
||||
return make<DefinedRegular>(this, /*Name*/ "", false,
|
||||
return make<DefinedRegular>(this, /*Name*/ "", /*IsCOMDAT*/ false,
|
||||
/*IsExternal*/ false, Sym.getGeneric(), SC);
|
||||
return nullptr;
|
||||
}
|
||||
|
@ -338,7 +339,7 @@ void ObjFile::initializeSymbols() {
|
|||
|
||||
for (uint32_t I : PendingIndexes) {
|
||||
COFFSymbolRef Sym = check(COFFObj->getSymbol(I));
|
||||
if (auto *Def = Sym.getSectionDefinition()) {
|
||||
if (const coff_aux_section_definition *Def = Sym.getSectionDefinition()) {
|
||||
if (Def->Selection == IMAGE_COMDAT_SELECT_ASSOCIATIVE)
|
||||
readAssociativeDefinition(Sym, Def);
|
||||
else if (Config->MinGW)
|
||||
|
@ -421,7 +422,7 @@ Optional<Symbol *> ObjFile::createDefined(
|
|||
std::tie(Leader, Prevailing) =
|
||||
Symtab->addComdat(this, GetName(), Sym.getGeneric());
|
||||
} else {
|
||||
Leader = make<DefinedRegular>(this, /*Name*/ "", false,
|
||||
Leader = make<DefinedRegular>(this, /*Name*/ "", /*IsCOMDAT*/ false,
|
||||
/*IsExternal*/ false, Sym.getGeneric());
|
||||
Prevailing = true;
|
||||
}
|
||||
|
@ -441,7 +442,7 @@ Optional<Symbol *> ObjFile::createDefined(
|
|||
// leader symbol by setting the section's ComdatDefs pointer if we encounter a
|
||||
// non-associative comdat.
|
||||
if (SparseChunks[SectionNumber] == PendingComdat) {
|
||||
if (auto *Def = Sym.getSectionDefinition()) {
|
||||
if (const coff_aux_section_definition *Def = Sym.getSectionDefinition()) {
|
||||
if (Def->Selection == IMAGE_COMDAT_SELECT_ASSOCIATIVE)
|
||||
readAssociativeDefinition(Sym, Def);
|
||||
else
|
||||
|
@ -449,8 +450,10 @@ Optional<Symbol *> ObjFile::createDefined(
|
|||
}
|
||||
}
|
||||
|
||||
// readAssociativeDefinition() writes to SparseChunks, so need to check again.
|
||||
if (SparseChunks[SectionNumber] == PendingComdat)
|
||||
return None;
|
||||
|
||||
return createRegular(Sym);
|
||||
}
|
||||
|
||||
|
|
|
@ -39,7 +39,7 @@ class Symbol {
|
|||
public:
|
||||
enum Kind {
|
||||
// The order of these is significant. We start with the regular defined
|
||||
// symbols as those are the most prevelant and the zero tag is the cheapest
|
||||
// symbols as those are the most prevalent and the zero tag is the cheapest
|
||||
// to set. Among the defined kinds, the lower the kind is preferred over
|
||||
// the higher kind when testing whether one symbol should take precedence
|
||||
// over another.
|
||||
|
|
Loading…
Reference in New Issue