diff options
author | Philipp Krones <philipp.krones@embecosm.com> | 2021-05-23 14:15:23 -0700 |
---|---|---|
committer | Fangrui Song <i@maskray.me> | 2021-05-23 14:15:23 -0700 |
commit | c2f819af73c54a8cf923e5a25099ca95dbe76312 (patch) | |
tree | 97a4ff834d4680ecbbd3f7c1fde1c749d2398f26 /llvm/tools/llvm-objdump/llvm-objdump.cpp | |
parent | cb1511645170ec23036631790398d8143a832265 (diff) | |
download | llvm-c2f819af73c54a8cf923e5a25099ca95dbe76312.zip llvm-c2f819af73c54a8cf923e5a25099ca95dbe76312.tar.gz llvm-c2f819af73c54a8cf923e5a25099ca95dbe76312.tar.bz2 |
[MC] Refactor MCObjectFileInfo initialization and allow targets to create MCObjectFileInfo
This makes it possible for targets to define their own MCObjectFileInfo.
This MCObjectFileInfo is then used to determine things like section alignment.
This is a follow up to D101462 and prepares for the RISCV backend defining the
text section alignment depending on the enabled extensions.
Reviewed By: MaskRay
Differential Revision: https://reviews.llvm.org/D101921
Diffstat (limited to 'llvm/tools/llvm-objdump/llvm-objdump.cpp')
-rw-r--r-- | llvm/tools/llvm-objdump/llvm-objdump.cpp | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/llvm/tools/llvm-objdump/llvm-objdump.cpp b/llvm/tools/llvm-objdump/llvm-objdump.cpp index 3689dd4..084c5ed 100644 --- a/llvm/tools/llvm-objdump/llvm-objdump.cpp +++ b/llvm/tools/llvm-objdump/llvm-objdump.cpp @@ -1581,10 +1581,11 @@ static void disassembleObject(const ObjectFile *Obj, bool InlineRelocs) { if (!MII) reportError(Obj->getFileName(), "no instruction info for target " + TripleName); - MCObjectFileInfo MOFI; - MCContext Ctx(Triple(TripleName), AsmInfo.get(), MRI.get(), &MOFI, STI.get()); + MCContext Ctx(Triple(TripleName), AsmInfo.get(), MRI.get(), STI.get()); // FIXME: for now initialize MCObjectFileInfo with default values - MOFI.initMCObjectFileInfo(Ctx, /*PIC=*/false); + std::unique_ptr<MCObjectFileInfo> MOFI( + TheTarget->createMCObjectFileInfo(Ctx, /*PIC=*/false)); + Ctx.setObjectFileInfo(MOFI.get()); std::unique_ptr<MCDisassembler> DisAsm( TheTarget->createMCDisassembler(*STI, Ctx)); |