OS X 上の ucontext 経由で EIP および EBP にアクセスする
質問
Linuxとfreebsdで実行するように設計されたツールをOSXに移植しようとしています。プログラム内では 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 はコンパイルできません。ucontext から EIP にアクセスする方法がわかりません。
所属していません StackOverflow