| 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
|
|
|
|
|