[lld/mac] Add some comments and asserts

I was wondering if SymtabSection::emitStabs() should check
defined->includeInSymtab. Add asserts and comments explaining why that's not
necessary.

No behavior change.

Differential Revision: https://reviews.llvm.org/D123302
This commit is contained in:
Nico Weber 2022-04-07 08:48:52 -04:00
parent da1fc3ae95
commit 2cb3d28b17
2 changed files with 7 additions and 1 deletions

View File

@ -230,8 +230,9 @@ Defined *SymbolTable::addSynthetic(StringRef name, InputSection *isec,
uint64_t value, bool isPrivateExtern,
bool includeInSymtab,
bool referencedDynamically) {
assert(!isec || !isec->getFile()); // See makeSyntheticInputSection().
Defined *s =
addDefined(name, nullptr, isec, value, /*size=*/0,
addDefined(name, /*file=*/nullptr, isec, value, /*size=*/0,
/*isWeakDef=*/false, isPrivateExtern,
/*isThumb=*/false, referencedDynamically,
/*noDeadStrip=*/false, /*isWeakDefCanBeHidden=*/false);

View File

@ -908,6 +908,11 @@ void SymtabSection::emitStabs() {
ObjFile *file = dyn_cast_or_null<ObjFile>(isec->getFile());
if (!file || !file->compileUnit)
continue;
// All symbols that set includeInSymtab to false are synthetic symbols.
// Those have `file` set to nullptr and were already skipped due to that.
assert(defined->includeInSymtab);
symbolsNeedingStabs.push_back(defined);
}
}