diff --git a/multimedia/zoneminder/files/patch-src_zm__signal.cpp b/multimedia/zoneminder/files/patch-src_zm__signal.cpp new file mode 100644 index 000000000000..4b49b7f07128 --- /dev/null +++ b/multimedia/zoneminder/files/patch-src_zm__signal.cpp @@ -0,0 +1,20 @@ +--- src/zm_signal.cpp.orig 2026-02-16 23:32:05 UTC ++++ src/zm_signal.cpp +@@ -130,9 +130,17 @@ RETSIGTYPE zm_die_handler(int signal) + ip = (void *)(uc->uc_mcontext.gregs[REG_EIP]); + #endif + #elif defined(__aarch64__) ++#if defined(__FreeBSD_kernel__) || defined(__FreeBSD__) ++ ip = (void *)(uc->uc_mcontext.mc_gpregs.gp_elr); ++#else + ip = (void *)(uc->uc_mcontext.pc); ++#endif + #elif defined(__arm__) ++#if defined(__FreeBSD_kernel__) || defined(__FreeBSD__) ++ ip = (void *)(uc->uc_mcontext.__gregs[_REG_PC]); ++#else + ip = (void *)(uc->uc_mcontext.arm_pc); ++#endif + #endif + + // Print the fault address and instruction pointer