[lld] [lld-macho] Category Merger: add support for addrsig references (PR #90903)
Ellis Hoag via llvm-commits
llvm-commits at lists.llvm.org
Fri May 3 15:04:56 PDT 2024
================
@@ -1188,6 +1200,36 @@ void ObjcCategoryMerger::eraseMergedCategories() {
catLayout.instancePropsOffset);
}
}
+
+ removeRefsToErasedIsecs();
+}
+
+// The compiler may generate references to categories inside the addrsig
+// section. This function will erase these references.
+void ObjcCategoryMerger::removeRefsToErasedIsecs() {
+ for (InputSection *isec : inputSections) {
+ if (isec->getName() != section_names::addrSig)
+ continue;
+
+ auto &_erasedIsecs = erasedIsecs;
----------------
ellishg wrote:
I'm not sure I understand why we need a copy here. Does this not work if we use `erasedIsecs` directly?
https://github.com/llvm/llvm-project/pull/90903
More information about the llvm-commits
mailing list