diff options
author | comex | 2015-01-19 19:12:32 -0500 |
---|---|---|
committer | comex | 2015-01-19 19:12:32 -0500 |
commit | c25b9e2337aad02073a199619f6f754f15cccd38 (patch) | |
tree | 603f3bcdc6eb687c11c077f350cde53fc1700898 /lib/darwin/objc.h | |
parent | some reorganization (diff) | |
download | substitute-c25b9e2337aad02073a199619f6f754f15cccd38.tar.gz |
more reorganization - move OS X/iOS specific stuff into its own directory
Diffstat (limited to 'lib/darwin/objc.h')
-rw-r--r-- | lib/darwin/objc.h | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/lib/darwin/objc.h b/lib/darwin/objc.h new file mode 100644 index 0000000..9628c35 --- /dev/null +++ b/lib/darwin/objc.h @@ -0,0 +1,23 @@ +#pragma once +/* PAGE_SIZE is not actually a constant on iOS */ +#if defined(__arm64__) +#define _PAGE_SHIFT 14 +#else +#define _PAGE_SHIFT 12 +#endif +#define _PAGE_SIZE (1 << _PAGE_SHIFT) +#if defined(__x86_64__) +#define TRAMPOLINE_SIZE 0x27 +#elif defined(__i386__) +#define TRAMPOLINE_SIZE 0x19 +#elif defined(__arm__) +#define TRAMPOLINE_SIZE 0x18 +#elif defined(__arm64__) +#define TRAMPOLINE_SIZE 0x40 +#endif +#ifdef __LP64__ +#define TRAMP_INFO_PAGE_ENTRY_SIZE 24 +#else +#define TRAMP_INFO_PAGE_ENTRY_SIZE 12 +#endif +#define TRAMPOLINES_PER_PAGE (_PAGE_SIZE / TRAMPOLINE_SIZE) |