[lld] [lld-macho] Fix erasing category names for ObjC categories (PR #99400)
Ellis Hoag via llvm-commits
llvm-commits at lists.llvm.org
Fri Jul 19 16:35:51 PDT 2024
================
@@ -1303,12 +1303,18 @@ void ObjcCategoryMerger::eraseMergedCategories() {
continue;
eraseISec(catInfo.catBodyIsec);
- // We can't erase 'catLayout.nameOffset' for Swift categories because the
- // name will be referenced for generating relative offsets
- // See usages of 'l_.str.11.SimpleClass' in objc-category-merging-swift.s
+
+ // We can't erase 'catLayout.nameOffset' for either Swift or ObjC
+ // categories because the name will sometimes also be used for other
+ // purposes.
+ // For Swift, see usages of 'l_.str.11.SimpleClass' in
+ // objc-category-merging-swift.s
+ // For ObjC, see usages of 'l_OBJC_CLASS_NAME_.1' in
+ // objc-category-merging-erase-objc-name-test.s
// TODO: handle the above in a smarter way
- if (catInfo.sourceLanguage != SourceLanguage::Swift)
- tryEraseDefinedAtIsecOffset(catInfo.catBodyIsec, catLayout.nameOffset);
+
+ // tryEraseDefinedAtIsecOffset(catInfo.catBodyIsec, catLayout.nameOffset);
----------------
ellishg wrote:
What is the point of keeping this commented code? Can we simply remove it?
https://github.com/llvm/llvm-project/pull/99400
More information about the llvm-commits
mailing list