[PATCH] D91221: [MachO] Allow the LC_IDENT load command
Vedant Kumar via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Wed Nov 11 10:16:27 PST 2020
This revision was landed with ongoing or failed builds.
This revision was automatically updated to reflect the committed changes.
Closed by commit rGd76e01a6a7c2: [MachO] Allow the LC_IDENT load command (authored by vsk).
Changed prior to commit:
https://reviews.llvm.org/D91221?vs=304357&id=304571#toc
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D91221/new/
https://reviews.llvm.org/D91221
Files:
llvm/lib/Object/MachOObjectFile.cpp
llvm/test/Object/Inputs/macho-invalid-ident-obsolete
llvm/test/Object/macho-invalid.test
llvm/test/ObjectYAML/MachO/lc-ident.yaml
Index: llvm/test/ObjectYAML/MachO/lc-ident.yaml
===================================================================
--- /dev/null
+++ llvm/test/ObjectYAML/MachO/lc-ident.yaml
@@ -0,0 +1,22 @@
+# RUN: yaml2obj %s | obj2yaml | FileCheck %s
+
+--- !mach-o
+FileHeader:
+ magic: 0xFEEDFACF
+ cputype: 0x01000007
+ cpusubtype: 0x80000003
+ filetype: 0x00000002
+ ncmds: 1
+ sizeofcmds: 16
+ flags: 0x00218085
+ reserved: 0x00000000
+LoadCommands:
+ - cmd: LC_IDENT
+ cmdsize: 16
+ PayloadBytes: [ 0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7 ]
+...
+
+# CHECK: LoadCommands:
+# CHECK-NEXT: - cmd: LC_IDENT
+# CHECK-NEXT: cmdsize: 16
+# CHECK-NEXT: PayloadBytes: [ 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07 ]
Index: llvm/test/Object/macho-invalid.test
===================================================================
--- llvm/test/Object/macho-invalid.test
+++ llvm/test/Object/macho-invalid.test
@@ -428,9 +428,6 @@
RUN: not llvm-objdump --macho --private-headers %p/Inputs/macho-invalid-prebound_dylib-obsolete 2>&1 | FileCheck --check-prefix=INVALID-PREBOUND_DYLIB-OBSOLETE %s
INVALID-PREBOUND_DYLIB-OBSOLETE: macho-invalid-prebound_dylib-obsolete': truncated or malformed object (load command 0 for cmd value of: 16 is obsolete and not supported)
-RUN: not llvm-objdump --macho --private-headers %p/Inputs/macho-invalid-ident-obsolete 2>&1 | FileCheck --check-prefix=INVALID-IDENT-OBSOLETE %s
-INVALID-IDENT-OBSOLETE: macho-invalid-ident-obsolete': truncated or malformed object (load command 0 for cmd value of: 8 is obsolete and not supported)
-
RUN: not llvm-objdump --macho --private-headers %p/Inputs/macho-invalid-fvmfile-obsolete 2>&1 | FileCheck --check-prefix=INVALID-FVMFILE-OBSOLETE %s
INVALID-FVMFILE-OBSOLETE: macho-invalid-fvmfile-obsolete': truncated or malformed object (load command 0 for cmd value of: 9 is obsolete and not supported)
Index: llvm/lib/Object/MachOObjectFile.cpp
===================================================================
--- llvm/lib/Object/MachOObjectFile.cpp
+++ llvm/lib/Object/MachOObjectFile.cpp
@@ -1596,6 +1596,9 @@
if ((Err = checkTwoLevelHintsCommand(*this, Load, I,
&TwoLevelHintsLoadCmd, Elements)))
return;
+ } else if (Load.C.cmd == MachO::LC_IDENT) {
+ // Note: LC_IDENT is ignored.
+ continue;
} else if (isLoadCommandObsolete(Load.C.cmd)) {
Err = malformedError("load command " + Twine(I) + " for cmd value of: " +
Twine(Load.C.cmd) + " is obsolete and not "
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D91221.304571.patch
Type: text/x-patch
Size: 2675 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20201111/b2fb2eb3/attachment.bin>
More information about the llvm-commits
mailing list