From c25b9e2337aad02073a199619f6f754f15cccd38 Mon Sep 17 00:00:00 2001 From: comex Date: Mon, 19 Jan 2015 19:12:32 -0500 Subject: more reorganization - move OS X/iOS specific stuff into its own directory --- lib/darwin/objc.h | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 lib/darwin/objc.h (limited to 'lib/darwin/objc.h') 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) -- cgit v1.2.3