aboutsummaryrefslogtreecommitdiff
path: root/lib/darwin/objc.c
diff options
context:
space:
mode:
authorcomex2015-02-28 21:25:29 -0500
committercomex2015-02-28 21:25:29 -0500
commit29c65b4db228409c6fea777d976e6442550913a7 (patch)
treee6246385062011d7c35bd18cc8ef8204a8ee6dd9 /lib/darwin/objc.c
parentadd substituted launchd plist; move helpers to separate directory (diff)
downloadsubstitute-29c65b4db228409c6fea777d976e6442550913a7.tar.gz
fix accidental usage of panic() from mach/mach.h instead of substitute_panic
Diffstat (limited to '')
-rw-r--r--lib/darwin/objc.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/lib/darwin/objc.c b/lib/darwin/objc.c
index 398e3e7..d457581 100644
--- a/lib/darwin/objc.c
+++ b/lib/darwin/objc.c
@@ -55,7 +55,8 @@ static int get_trampoline(void *func, void *arg1, void *arg2, void *tramp_ptr) {
struct tramp_info_page_header *header = LIST_FIRST(&tramp_free_page_list);
if (!header) {
if (PAGE_SIZE > _PAGE_SIZE)
- panic("%s: strange PAGE_SIZE %x\n", __func__, PAGE_SIZE);
+ substitute_panic("%s: strange PAGE_SIZE %lx\n",
+ __func__, (long) PAGE_SIZE);
void *new_pages = mmap(NULL, _PAGE_SIZE * 2, PROT_READ | PROT_WRITE,
MAP_SHARED | MAP_ANON, -1, 0);
if (new_pages == MAP_FAILED) {
@@ -125,7 +126,7 @@ static void free_trampoline(void *tramp) {
struct tramp_info_page_header *header = page + 2 * _PAGE_SIZE - sizeof(*header);
if (header->magic != TRAMP_MAGIC)
- panic("%s: bad pointer\n", __func__);
+ substitute_panic("%s: bad pointer\n", __func__);
if (header->version != TRAMP_VERSION) {
/* shouldn't happen, but just in case multiple versions of this library
* are mixed up */
@@ -185,7 +186,8 @@ int substitute_hook_objc_message(Class class, SEL selector, void *replacement,
* the meantime, since we found the method above and it
* couldn't have been found in a superclass, but the objc2
* runtime doesn't allow removing methods. */
- panic("%s: no superclass but the method didn't exist\n", __func__);
+ substitute_panic("%s: no superclass but the method didn't exist\n",
+ __func__);
}
ret = get_trampoline(class_getMethodImplementation, super, selector, old_ptr);
if (created_imp_ptr)