[PATCH] D113733: [llvm-objdump/mac] Add support for new load commands

Keith Smiley via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Nov 11 22:17:21 PST 2021


keith created this revision.
keith added a reviewer: aprantl.
Herald added a subscriber: rupprecht.
Herald added a reviewer: jhenderson.
Herald added a reviewer: MaskRay.
keith requested review of this revision.
Herald added a project: LLVM.
Herald added a subscriber: llvm-commits.

Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D113733

Files:
  llvm/test/tools/obj2yaml/MachO/raw-linkedit.yaml
  llvm/tools/llvm-objdump/MachODump.cpp


Index: llvm/tools/llvm-objdump/MachODump.cpp
===================================================================
--- llvm/tools/llvm-objdump/MachODump.cpp
+++ 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());
Index: llvm/test/tools/obj2yaml/MachO/raw-linkedit.yaml
===================================================================
--- llvm/test/tools/obj2yaml/MachO/raw-linkedit.yaml
+++ 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:


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D113733.386732.patch
Type: text/x-patch
Size: 2490 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20211112/6be89d0c/attachment.bin>


More information about the llvm-commits mailing list