From 2d0eb5df4fb4e028e86310e631789b65cb009bf1 Mon Sep 17 00:00:00 2001 From: Jacek Caban Date: Mon, 3 Mar 2025 22:39:42 +0100 Subject: [PATCH] [LLD][COFF] Add support for -includeglob on ARM64X (#129515) Include symbols from both symbol tables. --- lld/COFF/Driver.cpp | 3 ++- lld/test/COFF/arm64x-includeoptional.s | 3 +++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/lld/COFF/Driver.cpp b/lld/COFF/Driver.cpp index b9bde9bb428e..b60d93d45086 100644 --- a/lld/COFF/Driver.cpp +++ b/lld/COFF/Driver.cpp @@ -2568,7 +2568,8 @@ void LinkerDriver::linkerMain(ArrayRef argsArr) { // Handle /includeglob for (StringRef pat : args::getStrings(args, OPT_incl_glob)) - ctx.symtab.addUndefinedGlob(pat); + ctx.forEachSymtab( + [&](SymbolTable &symtab) { symtab.addUndefinedGlob(pat); }); // Create wrapped symbols for -wrap option. ctx.forEachSymtab([&](SymbolTable &symtab) { diff --git a/lld/test/COFF/arm64x-includeoptional.s b/lld/test/COFF/arm64x-includeoptional.s index bf02075d9677..63b1e8908279 100644 --- a/lld/test/COFF/arm64x-includeoptional.s +++ b/lld/test/COFF/arm64x-includeoptional.s @@ -11,6 +11,9 @@ // RUN: llvm-readobj --hex-dump=.test %t.dll | FileCheck %s // CHECK: 0x180004000 01000000 01000000 +// RUN: lld-link -machine:arm64x -dll -noentry -out:%t-glob.dll %t-test.lib -includeglob:sym +// RUN: llvm-readobj --hex-dump=.test %t-glob.dll | FileCheck %s + .globl sym .section .test,"dr" sym: