$NetBSD: patch-src_zm_signal_cpp,v 1.4 2024/12/01 13:49:48 gdt Exp $ Don't assume machine-dependent IP register details are available for any platform except Linux. Only Linux is sure to have this style of mcontext_t. Resolves build on systems that have ucontext_t but an mcontext_t that doesn't look like Linux. --- src/zm_signal.cpp.orig 2018-12-08 14:22:36.000000000 +0000 +++ src/zm_signal.cpp @@ -66,13 +66,17 @@ RETSIGTYPE zm_die_handler(int signal) #if defined(__FreeBSD_kernel__) || defined(__FreeBSD__) ip = (void *)(uc->uc_mcontext.mc_rip); #else + #if defined(__linux__) ip = (void *)(uc->uc_mcontext.gregs[REG_RIP]); + #endif #endif #else #if defined(__FreeBSD_kernel__) || defined(__FreeBSD__) ip = (void *)(uc->uc_mcontext.mc_eip); #else + #if defined(__linux__) ip = (void *)(uc->uc_mcontext.gregs[REG_EIP]); + #endif #endif #endif // defined(__x86_64__)