[PATCH] D48568: objdump: Support newer ObjC image info flags
Dave Lee via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Fri Jun 29 20:30:09 PDT 2018
kastiglione updated this revision to Diff 153609.
kastiglione added a comment.
test without binaries
Repository:
rL LLVM
https://reviews.llvm.org/D48568
Files:
test/tools/llvm-objdump/macho-image-info.test
tools/llvm-objdump/MachODump.cpp
Index: tools/llvm-objdump/MachODump.cpp
===================================================================
--- tools/llvm-objdump/MachODump.cpp
+++ tools/llvm-objdump/MachODump.cpp
@@ -3234,6 +3234,8 @@
/* masks for objc_image_info.flags */
#define OBJC_IMAGE_IS_REPLACEMENT (1 << 0)
#define OBJC_IMAGE_SUPPORTS_GC (1 << 1)
+#define OBJC_IMAGE_IS_SIMULATED (1 << 5)
+#define OBJC_IMAGE_HAS_CATEGORY_CLASS_PROPERTIES (1 << 6)
struct message_ref64 {
uint64_t imp; /* IMP (64-bit pointer) */
@@ -5595,6 +5597,10 @@
outs() << " OBJC_IMAGE_IS_REPLACEMENT";
if (o.flags & OBJC_IMAGE_SUPPORTS_GC)
outs() << " OBJC_IMAGE_SUPPORTS_GC";
+ if (o.flags & OBJC_IMAGE_IS_SIMULATED)
+ outs() << " OBJC_IMAGE_IS_SIMULATED";
+ if (o.flags & OBJC_IMAGE_HAS_CATEGORY_CLASS_PROPERTIES)
+ outs() << " OBJC_IMAGE_HAS_CATEGORY_CLASS_PROPERTIES";
swift_version = (o.flags >> 8) & 0xff;
if (swift_version != 0) {
if (swift_version == 1)
Index: test/tools/llvm-objdump/macho-image-info.test
===================================================================
--- /dev/null
+++ test/tools/llvm-objdump/macho-image-info.test
@@ -0,0 +1,7 @@
+# RUN: llvm-mc < %s -triple x86_64-darwin -filetype=obj | llvm-objdump -m -objc-meta-data - | FileCheck %s
+
+.section __DATA,__objc_imageinfo,regular,no_dead_strip
+.long 0
+.long 96
+
+# CHECK: OBJC_IMAGE_IS_SIMULATED OBJC_IMAGE_HAS_CATEGORY_CLASS_PROPERTIES
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D48568.153609.patch
Type: text/x-patch
Size: 1417 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20180630/80f0b4b5/attachment.bin>
More information about the llvm-commits
mailing list