summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--devel/libunwind/files/patch-armv729
1 files changed, 29 insertions, 0 deletions
diff --git a/devel/libunwind/files/patch-armv7 b/devel/libunwind/files/patch-armv7
new file mode 100644
index 000000000000..e22e4b42fbd4
--- /dev/null
+++ b/devel/libunwind/files/patch-armv7
@@ -0,0 +1,29 @@
+Obtained from: https://github.com/libunwind/libunwind/commit/99fb31d5f05ff6c96ca3a9350c792618fab23f2d
+
+--- src/ptrace/_UPT_access_fpreg.c.orig 2021-11-26 16:58:55 UTC
++++ src/ptrace/_UPT_access_fpreg.c
+@@ -104,7 +104,11 @@ _UPT_access_fpreg (unw_addr_space_t as, unw_regnum_t r
+ #elif defined(__i386__)
+ memcpy(&fpreg.fpr_acc[reg], val, sizeof(unw_fpreg_t));
+ #elif defined(__arm__)
++# if __FreeBSD_version >= 1400079
++ memcpy(&fpreg.fpr_r[reg], val, sizeof(unw_fpreg_t));
++# else
+ memcpy(&fpreg.fpr[reg], val, sizeof(unw_fpreg_t));
++# endif
+ #elif defined(__aarch64__)
+ memcpy(&fpreg.fp_q[reg], val, sizeof(unw_fpreg_t));
+ #elif defined(__powerpc64__)
+@@ -120,7 +124,11 @@ _UPT_access_fpreg (unw_addr_space_t as, unw_regnum_t r
+ #elif defined(__i386__)
+ memcpy(val, &fpreg.fpr_acc[reg], sizeof(unw_fpreg_t));
+ #elif defined(__arm__)
+- memcpy(val, &fpreg.fpr[reg], sizeof(unw_fpreg_t));
++# if __FreeBSD_version >= 1400079
++ memcpy(&fpreg.fpr_r[reg], val, sizeof(unw_fpreg_t));
++# else
++ memcpy(&fpreg.fpr[reg], val, sizeof(unw_fpreg_t));
++# endif
+ #elif defined(__aarch64__)
+ memcpy(val, &fpreg.fp_q[reg], sizeof(unw_fpreg_t));
+ #elif defined(__powerpc64__)