Я пытаюсь перенести инструмент на osx, который предназначен для работы на linux и freebsd. В программе есть случай, когда нужен доступ к EIP и EBP. Это делается с помощью ucontext.
Поэтому я добавил случай для __APPLE__, чтобы разместить подходящий доступ к структуре ucontext.
9887 #if defined(__FreeBSD__)
9888 *paddr = uc->uc_mcontext.mc_eip;
9889 #elif defined(__dietlibc__)
9890 *paddr = uc->uc_mcontext.eip;
9891 #elif defined(__APPLE__)
9892 *paddr = uc->uc_mcontext.ss.eip;
9893 #else
9894 *paddr = uc->uc_mcontext.gregs[REG_EIP];
9895 #endif
Но uc-> uc_mcontext.ss.eip не компилируется. Не уверен, как получить доступ к EIP из ucontext.