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__)