[lld] [LLD][COFF] Add support for ARM64X same-address thunks (PR #151255)

Martin Storsjö via llvm-commits llvm-commits at lists.llvm.org
Wed Jul 30 05:03:26 PDT 2025


================
@@ -2668,12 +2677,46 @@ void LinkerDriver::linkerMain(ArrayRef<const char *> argsArr) {
     createECExportThunks();
 
   // Resolve remaining undefined symbols and warn about imported locals.
+  std::vector<Undefined *> aliases;
   ctx.forEachSymtab(
-      [&](SymbolTable &symtab) { symtab.resolveRemainingUndefines(); });
+      [&](SymbolTable &symtab) { symtab.resolveRemainingUndefines(aliases); });
 
   if (errorCount())
     return;
 
+  ctx.forEachActiveSymtab([](SymbolTable &symtab) {
+    symtab.initializeECThunks();
----------------
mstorsjo wrote:

Previously, `initializeECThunks()` only was called on one out of two symtabs - now it's called on both. Presumably just for code simplicity here, or is it a functional change?

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


More information about the llvm-commits mailing list