aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/Object/ModuleSymbolTable.cpp
diff options
context:
space:
mode:
authorYuanfang Chen <yuanfang.chen@sony.com>2021-07-25 21:12:28 -0700
committerYuanfang Chen <yuanfang.chen@sony.com>2021-07-25 21:23:03 -0700
commit1558bb80c01b695ce12642527cbfccf16cf54ece (patch)
treee4266b196f58eb1c73dfaad5039864794ed534ca /llvm/lib/Object/ModuleSymbolTable.cpp
parent0d3e4d9d4d2c9e29f5bd073340588f3c4931fb7c (diff)
downloadllvm-1558bb80c01b695ce12642527cbfccf16cf54ece.zip
llvm-1558bb80c01b695ce12642527cbfccf16cf54ece.tar.gz
llvm-1558bb80c01b695ce12642527cbfccf16cf54ece.tar.bz2
[Object] make SourceMgr available to MCContext during inline asm symbols
collection Fixes PR51210.
Diffstat (limited to 'llvm/lib/Object/ModuleSymbolTable.cpp')
-rw-r--r--llvm/lib/Object/ModuleSymbolTable.cpp9
1 files changed, 5 insertions, 4 deletions
diff --git a/llvm/lib/Object/ModuleSymbolTable.cpp b/llvm/lib/Object/ModuleSymbolTable.cpp
index 9cdc281..9a79de7 100644
--- a/llvm/lib/Object/ModuleSymbolTable.cpp
+++ b/llvm/lib/Object/ModuleSymbolTable.cpp
@@ -99,7 +99,11 @@ initializeRecordStreamer(const Module &M,
if (!MCII)
return;
- MCContext MCCtx(TT, MAI.get(), MRI.get(), STI.get());
+ std::unique_ptr<MemoryBuffer> Buffer(MemoryBuffer::getMemBuffer(InlineAsm));
+ SourceMgr SrcMgr;
+ SrcMgr.AddNewSourceBuffer(std::move(Buffer), SMLoc());
+
+ MCContext MCCtx(TT, MAI.get(), MRI.get(), STI.get(), &SrcMgr);
std::unique_ptr<MCObjectFileInfo> MOFI(
T->createMCObjectFileInfo(MCCtx, /*PIC=*/false));
MOFI->setSDKVersion(M.getSDKVersion());
@@ -107,9 +111,6 @@ initializeRecordStreamer(const Module &M,
RecordStreamer Streamer(MCCtx, M);
T->createNullTargetStreamer(Streamer);
- std::unique_ptr<MemoryBuffer> Buffer(MemoryBuffer::getMemBuffer(InlineAsm));
- SourceMgr SrcMgr;
- SrcMgr.AddNewSourceBuffer(std::move(Buffer), SMLoc());
std::unique_ptr<MCAsmParser> Parser(
createMCAsmParser(SrcMgr, MCCtx, Streamer, *MAI));