From bf84e2cbee8a58244f8863c849d25011e243954e Mon Sep 17 00:00:00 2001 From: Kevin Enderby Date: Thu, 22 Jun 2017 19:50:56 +0000 Subject: [PATCH] Updated llvm-objdump for arm64 Mach-O MH_KEXT_BUNDLE file types so it symbolically disassembles the __text section from the __TEXT_EXEC segment not the usual __TEXT segment by default. rdar://30590208 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@306046 91177308-0d34-0410-b5e6-96231b3b80d8 --- .../AArch64/Inputs/kextbundle.macho-aarch64 | Bin 0 -> 49260 bytes .../llvm-objdump/AArch64/macho-kextbundle.test | 9 +++++++++ tools/llvm-objdump/MachODump.cpp | 9 +++++++-- 3 files changed, 16 insertions(+), 2 deletions(-) create mode 100755 test/tools/llvm-objdump/AArch64/Inputs/kextbundle.macho-aarch64 create mode 100644 test/tools/llvm-objdump/AArch64/macho-kextbundle.test diff --git a/test/tools/llvm-objdump/AArch64/Inputs/kextbundle.macho-aarch64 b/test/tools/llvm-objdump/AArch64/Inputs/kextbundle.macho-aarch64 new file mode 100755 index 0000000000000000000000000000000000000000..4a21c2e38408360e4ed049db7c8d7a9c3cb59bf3 GIT binary patch literal 49260 zcmeI(v1$}S7y#hey~IQen&Lo3h}IUG!Ux!p93&_);1%f>18NhvU@jn}FbMXF7CwSj z`UW|lz%DOfV`FEdkl@ViZgL!6V;A@a{{8o#nf2w8~ZQjCi+zT_di zP7`rlkFgq~EW4e}Zkibz#lP#+aM-k7PJMpFsQQ$h&CYVQQdB8S$kTB-MSP{F;%8PIdb2Y{W>Tc_!twzd2J{8y_2kYJIiN&H9aa zllp%Db+>r;`QFaq;?checkSymbolTable()) report_error(ArchiveName, FileName, std::move(Err), ArchitectureName); - if (Disassemble) - DisassembleMachO(FileName, MachOOF, "__TEXT", "__text"); + if (Disassemble) { + if (MachOOF->getHeader().filetype == MachO::MH_KEXT_BUNDLE && + MachOOF->getHeader().cputype == MachO::CPU_TYPE_ARM64) + DisassembleMachO(FileName, MachOOF, "__TEXT_EXEC", "__text"); + else + DisassembleMachO(FileName, MachOOF, "__TEXT", "__text"); + } if (IndirectSymbols) PrintIndirectSymbols(MachOOF, !NonVerbose); if (DataInCode) -- 2.50.1