From 0e0380305eb8ab045aa26882e48e0b61498977c8 Mon Sep 17 00:00:00 2001 From: comex Date: Sat, 17 Jan 2015 13:40:22 -0500 Subject: imp forwarding works --- lib/objc.h | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 lib/objc.h (limited to 'lib/objc.h') diff --git a/lib/objc.h b/lib/objc.h new file mode 100644 index 0000000..24427e1 --- /dev/null +++ b/lib/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 0x23 +#elif defined(__i386__) +#define TRAMPOLINE_SIZE 0x1c +#elif defined(__arm__) +#define TRAMPOLINE_SIZE 0x18 +#elif defined(__arm64__) +#define TRAMPOLINE_SIZE 0x40 +#endif +#ifdef __LP64__ +#define REMAP_PAGE_ENTRY_SIZE 24 +#else +#define REMAP_PAGE_ENTRY_SIZE 12 +#endif +#define TRAMPOLINES_PER_PAGE (_PAGE_SIZE / TRAMPOLINE_SIZE) -- cgit v1.2.3