aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIvan <bsd@abinet.ru>2026-05-14 17:32:46 +0000
committerVladimir Druzenko <vvd@FreeBSD.org>2026-05-14 17:34:46 +0000
commit3dac59ea320c7210bcca3008d748b9f25009cc6c (patch)
tree3e3ceb9187a7c59208435937cd48682a6769192d
parent1d5630179a051c8ed4f70d15b4ead2c00b0f0b78 (diff)
multimedia/zoneminder: Fix build on aarch64 and armv*
PR: 295090 Reviewed by: fuz Sponsored by: UNIS Labs
-rw-r--r--multimedia/zoneminder/files/patch-src_zm__signal.cpp20
1 files changed, 20 insertions, 0 deletions
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