Index: class-dump/src/dyld-info-compat.h |
=================================================================== |
--- class-dump/src/dyld-info-compat.h (revision 0) |
+++ class-dump/src/dyld-info-compat.h (revision 0) |
@@ -0,0 +1,80 @@ |
+#if MAC_OS_X_VERSION_MAX_ALLOWED <= MAC_OS_X_VERSION_10_5 |
+ |
+// This is taken from loader.h on 10.6, so that I can still compile for 10.5. |
+ |
+#define LC_DYLD_INFO 0x22 /* compressed dyld information */ |
+#define LC_DYLD_INFO_ONLY (0x22|LC_REQ_DYLD) /* compressed dyld information only */ |
+ |
+struct dyld_info_command { |
+ uint32_t cmd; /* LC_DYLD_INFO or LC_DYLD_INFO_ONLY */ |
+ uint32_t cmdsize; /* sizeof(struct dyld_info_command) */ |
+ uint32_t rebase_off; |
+ uint32_t rebase_size; |
+ uint32_t bind_off; |
+ uint32_t bind_size; |
+ uint32_t weak_bind_off; |
+ uint32_t weak_bind_size; |
+ uint32_t lazy_bind_off; |
+ uint32_t lazy_bind_size; |
+ uint32_t export_off; |
+ uint32_t export_size; |
+}; |
+ |
+/* |
+ * The following are used to encode rebasing information |
+ */ |
+#define REBASE_TYPE_POINTER 1 |
+#define REBASE_TYPE_TEXT_ABSOLUTE32 2 |
+#define REBASE_TYPE_TEXT_PCREL32 3 |
+ |
+#define REBASE_OPCODE_MASK 0xF0 |
+#define REBASE_IMMEDIATE_MASK 0x0F |
+#define REBASE_OPCODE_DONE 0x00 |
+#define REBASE_OPCODE_SET_TYPE_IMM 0x10 |
+#define REBASE_OPCODE_SET_SEGMENT_AND_OFFSET_ULEB 0x20 |
+#define REBASE_OPCODE_ADD_ADDR_ULEB 0x30 |
+#define REBASE_OPCODE_ADD_ADDR_IMM_SCALED 0x40 |
+#define REBASE_OPCODE_DO_REBASE_IMM_TIMES 0x50 |
+#define REBASE_OPCODE_DO_REBASE_ULEB_TIMES 0x60 |
+#define REBASE_OPCODE_DO_REBASE_ADD_ADDR_ULEB 0x70 |
+#define REBASE_OPCODE_DO_REBASE_ULEB_TIMES_SKIPPING_ULEB 0x80 |
+ |
+ |
+/* |
+ * The following are used to encode binding information |
+ */ |
+#define BIND_TYPE_POINTER 1 |
+#define BIND_TYPE_TEXT_ABSOLUTE32 2 |
+#define BIND_TYPE_TEXT_PCREL32 3 |
+ |
+#define BIND_SPECIAL_DYLIB_SELF 0 |
+#define BIND_SPECIAL_DYLIB_MAIN_EXECUTABLE -1 |
+#define BIND_SPECIAL_DYLIB_FLAT_LOOKUP -2 |
+ |
+#define BIND_SYMBOL_FLAGS_WEAK_IMPORT 0x1 |
+#define BIND_SYMBOL_FLAGS_NON_WEAK_DEFINITION 0x8 |
+ |
+#define BIND_OPCODE_MASK 0xF0 |
+#define BIND_IMMEDIATE_MASK 0x0F |
+#define BIND_OPCODE_DONE 0x00 |
+#define BIND_OPCODE_SET_DYLIB_ORDINAL_IMM 0x10 |
+#define BIND_OPCODE_SET_DYLIB_ORDINAL_ULEB 0x20 |
+#define BIND_OPCODE_SET_DYLIB_SPECIAL_IMM 0x30 |
+#define BIND_OPCODE_SET_SYMBOL_TRAILING_FLAGS_IMM 0x40 |
+#define BIND_OPCODE_SET_TYPE_IMM 0x50 |
+#define BIND_OPCODE_SET_ADDEND_SLEB 0x60 |
+#define BIND_OPCODE_SET_SEGMENT_AND_OFFSET_ULEB 0x70 |
+#define BIND_OPCODE_ADD_ADDR_ULEB 0x80 |
+#define BIND_OPCODE_DO_BIND 0x90 |
+#define BIND_OPCODE_DO_BIND_ADD_ADDR_ULEB 0xA0 |
+#define BIND_OPCODE_DO_BIND_ADD_ADDR_IMM_SCALED 0xB0 |
+#define BIND_OPCODE_DO_BIND_ULEB_TIMES_SKIPPING_ULEB 0xC0 |
+ |
+#define EXPORT_SYMBOL_FLAGS_KIND_MASK 0x03 |
+#define EXPORT_SYMBOL_FLAGS_KIND_REGULAR 0x00 |
+#define EXPORT_SYMBOL_FLAGS_KIND_THREAD_LOCAL 0x01 |
+#define EXPORT_SYMBOL_FLAGS_WEAK_DEFINITION 0x04 |
+#define EXPORT_SYMBOL_FLAGS_INDIRECT_DEFINITION 0x08 |
+#define EXPORT_SYMBOL_FLAGS_HAS_SPECIALIZATIONS 0x10 |
+ |
+#endif |
Property changes on: class-dump/src/dyld-info-compat.h |
___________________________________________________________________ |
Added: svn:eol-style |
+ LF |