aboutsummaryrefslogtreecommitdiffstats
path: root/devel/libdatadog/files/patch-libdd-crashtracker-src-collector-emitters.rs
diff options
context:
space:
mode:
authorLexi Winter <ivy@FreeBSD.org>2025-12-01 03:19:41 +0000
committerLexi Winter <ivy@FreeBSD.org>2025-12-01 03:19:41 +0000
commit2e80774d0b20d167bc0a9e2b63dafbfb171c0d22 (patch)
tree25f0138e1af8902b92dacc8cce09b267447c17db /devel/libdatadog/files/patch-libdd-crashtracker-src-collector-emitters.rs
parentf85f2b2d6e5b7ed869376eb4b180c3a74a5c5da9 (diff)
parent1a30da80670973368b399f2b01fe9c04b91a1273 (diff)
Merge remote-tracking branch 'freebsd/main' into lf/mainlf/main
Diffstat (limited to 'devel/libdatadog/files/patch-libdd-crashtracker-src-collector-emitters.rs')
-rw-r--r--devel/libdatadog/files/patch-libdd-crashtracker-src-collector-emitters.rs23
1 files changed, 23 insertions, 0 deletions
diff --git a/devel/libdatadog/files/patch-libdd-crashtracker-src-collector-emitters.rs b/devel/libdatadog/files/patch-libdd-crashtracker-src-collector-emitters.rs
new file mode 100644
index 000000000000..9bfb47ff129d
--- /dev/null
+++ b/devel/libdatadog/files/patch-libdd-crashtracker-src-collector-emitters.rs
@@ -0,0 +1,23 @@
+--- libdd-crashtracker/src/collector/emitters.rs.orig 2025-11-03 12:41:37 UTC
++++ libdd-crashtracker/src/collector/emitters.rs
+@@ -198,7 +198,7 @@ fn emit_proc_self_maps(w: &mut impl Write) -> Result<(
+ Ok(())
+ }
+
+-#[cfg(target_os = "linux")]
++#[cfg(any(target_os = "freebsd", target_os = "linux"))]
+ fn emit_ucontext(w: &mut impl Write, ucontext: *const ucontext_t) -> Result<(), EmitterError> {
+ if ucontext.is_null() {
+ return Err(EmitterError::NullUcontext);
+@@ -325,6 +325,11 @@ fn extract_ip(ucontext: *const ucontext_t) -> usize {
+ return (*(*ucontext).uc_mcontext).__ss.__rip as usize;
+ #[cfg(all(target_os = "macos", target_arch = "aarch64"))]
+ return (*(*ucontext).uc_mcontext).__ss.__pc as usize;
++
++ #[cfg(all(target_os = "freebsd", target_arch = "x86_64"))]
++ return (*ucontext).uc_mcontext.mc_rip as usize;
++ #[cfg(all(target_os = "freebsd", target_arch = "aarch64"))]
++ return (*ucontext).uc_mcontext.mc_gpregs.gp_pc;
+
+ #[cfg(all(target_os = "linux", target_arch = "x86_64"))]
+ return (*ucontext).uc_mcontext.gregs[libc::REG_RIP as usize] as usize;