diff options
author | Yuanfang Chen <yuanfang.chen@sony.com> | 2021-07-25 21:12:28 -0700 |
---|---|---|
committer | Yuanfang Chen <yuanfang.chen@sony.com> | 2021-07-25 21:23:03 -0700 |
commit | 1558bb80c01b695ce12642527cbfccf16cf54ece (patch) | |
tree | e4266b196f58eb1c73dfaad5039864794ed534ca /llvm/lib/Object/ModuleSymbolTable.cpp | |
parent | 0d3e4d9d4d2c9e29f5bd073340588f3c4931fb7c (diff) | |
download | llvm-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.cpp | 9 |
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)); |