[lld] [lld-macho] Fix category merging category map non-determinism (PR #91159)

Kyungwoo Lee via llvm-commits llvm-commits at lists.llvm.org
Mon May 6 09:17:01 PDT 2024


================
@@ -1072,12 +1080,25 @@ void ObjcCategoryMerger::collectAndValidateCategoriesData() {
           tryGetSymbolAtIsecOffset(catBodyIsec, catLayout.klassOffset);
       assert(classSym && "Category does not have a valid base class");
 
-      InfoInputCategory catInputInfo{catListCisec, catBodyIsec, off};
+      InfoInputCategory catInputInfo{catListCisec, catBodyIsec, off,
+                                     inputCategoryIndex++};
----------------
kyulee-com wrote:

To avoid unnecessary copy,
```suggestion
categoryMap[classSym].emplace_back(catListCisec, catBodyIsec, off,
                                     ++inputCategoryIndex);


https://github.com/llvm/llvm-project/pull/91159


More information about the llvm-commits mailing list