[PATCH] D123302: [lld/mac] Add some comments and asserts
Nico Weber via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Thu Apr 7 05:51:22 PDT 2022
thakis created this revision.
thakis added a reviewer: lld-macho.
Herald added projects: lld-macho, All.
thakis requested review of this revision.
I was wondering if SymtabSection::emitStabs() should check
defined->includeInSymtab. Add asserts and comments explaining why that's not
necessary.
No behavior change.
https://reviews.llvm.org/D123302
Files:
lld/MachO/SymbolTable.cpp
lld/MachO/SyntheticSections.cpp
Index: lld/MachO/SyntheticSections.cpp
===================================================================
--- lld/MachO/SyntheticSections.cpp
+++ lld/MachO/SyntheticSections.cpp
@@ -908,6 +908,11 @@
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);
}
}
Index: lld/MachO/SymbolTable.cpp
===================================================================
--- lld/MachO/SymbolTable.cpp
+++ lld/MachO/SymbolTable.cpp
@@ -230,8 +230,9 @@
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);
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D123302.421174.patch
Type: text/x-patch
Size: 1374 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20220407/e45d118c/attachment.bin>
More information about the llvm-commits
mailing list