diff --git a/llvm/test/tools/obj2yaml/MachO/raw-linkedit.yaml b/llvm/test/tools/obj2yaml/MachO/raw-linkedit.yaml --- a/llvm/test/tools/obj2yaml/MachO/raw-linkedit.yaml +++ b/llvm/test/tools/obj2yaml/MachO/raw-linkedit.yaml @@ -2,6 +2,9 @@ # raw __LINKEDIT segments. # # RUN: yaml2obj %s | obj2yaml --raw-segment=data --raw-segment=linkedit | FileCheck %s +# RUN: yaml2obj %s > %t +# RUN: llvm-objdump -p %t | FileCheck %s --check-prefix=CHECK-OBJDUMP +# RUN: llvm-otool -l %t | FileCheck %s --check-prefix=CHECK-OBJDUMP # # This file was produced using: # echo "int ext;" > a.c @@ -17,6 +20,9 @@ # CHECK: segname: __DATA # CHECK: content: '0000001000000080' # CHECK: __LINKEDIT: 0000000020000000480000004C000000010000000100000000000000000000000300000000000000100000000000000018000000004006000040000000000000000000000100000001020000005F6578740000000000000000015F700006040080800100000000000000000000000000020000000F02000000400000000000000500000001000001000000000000000020005F70005F65787400000000000000 +# +# CHECK-OBJDUMP: LC_DYLD_CHAINED_FIXUPS +# CHECK-OBJDUMP: LC_DYLD_EXPORTS_TRIE --- !mach-o FileHeader: diff --git a/llvm/tools/llvm-objdump/MachODump.cpp b/llvm/tools/llvm-objdump/MachODump.cpp --- a/llvm/tools/llvm-objdump/MachODump.cpp +++ b/llvm/tools/llvm-objdump/MachODump.cpp @@ -10053,6 +10053,10 @@ outs() << " cmd LC_DYLIB_CODE_SIGN_DRS\n"; else if (ld.cmd == MachO::LC_LINKER_OPTIMIZATION_HINT) outs() << " cmd LC_LINKER_OPTIMIZATION_HINT\n"; + else if (ld.cmd == MachO::LC_DYLD_EXPORTS_TRIE) + outs() << " cmd LC_DYLD_EXPORTS_TRIE\n"; + else if (ld.cmd == MachO::LC_DYLD_CHAINED_FIXUPS) + outs() << " cmd LC_DYLD_CHAINED_FIXUPS\n"; else outs() << " cmd " << ld.cmd << " (?)\n"; outs() << " cmdsize " << ld.cmdsize; @@ -10196,7 +10200,9 @@ Command.C.cmd == MachO::LC_FUNCTION_STARTS || Command.C.cmd == MachO::LC_DATA_IN_CODE || Command.C.cmd == MachO::LC_DYLIB_CODE_SIGN_DRS || - Command.C.cmd == MachO::LC_LINKER_OPTIMIZATION_HINT) { + Command.C.cmd == MachO::LC_LINKER_OPTIMIZATION_HINT || + Command.C.cmd == MachO::LC_DYLD_EXPORTS_TRIE || + Command.C.cmd == MachO::LC_DYLD_CHAINED_FIXUPS) { MachO::linkedit_data_command Ld = Obj->getLinkeditDataLoadCommand(Command); PrintLinkEditDataCommand(Ld, Buf.size());