Re: git: ee491a6c691b - main - devel/libunwind: Update to 1.7.2
- In reply to: Po-Chuan Hsieh : "git: ee491a6c691b - main - devel/libunwind: Update to 1.7.2"
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Thu, 02 Nov 2023 19:12:11 UTC
On 2023-11-01T06:30:36.000+01:00, Po-Chuan Hsieh <sunpoet@FreeBSD.org> wrote: > The branch main has been updated by sunpoet: > > URL: https://cgit.FreeBSD.org/ports/commit/?id=ee491a6c691b15e6a3313fe8d73cfb2b2ed06e83 > > commit ee491a6c691b15e6a3313fe8d73cfb2b2ed06e83 > > Author: Po-Chuan Hsieh <sunpoet@FreeBSD.org> > > AuthorDate: 2023-11-01 05:30:07 +0000 > > Commit: Po-Chuan Hsieh <sunpoet@FreeBSD.org> > > CommitDate: 2023-11-01 05:30:07 +0000 > > devel/libunwind: Update to 1.7.2 > > > > - Change MASTER_SITES > > - Update WWW > > - Sort PLIST > > > > Changes: https://github.com/libunwind/libunwind/releases > > PR: 274523 > > Exp-run by: antoine > > --- > > devel/libunwind/Makefile | 16 +- > > devel/libunwind/distinfo | 8 +- > > devel/libunwind/files/patch-aarch64 | 64 ------- > > devel/libunwind/files/patch-bug-269875 | 310 --------------------------------- > > devel/libunwind/files/patch-i386 | 13 ++ > > devel/libunwind/pkg-plist | 12 +- > > 6 files changed, 30 insertions(+), 393 deletions(-) > > diff --git a/devel/libunwind/Makefile b/devel/libunwind/Makefile > > index 77af7ab31c2e..72927e2d1d9f 100644 > > --- a/devel/libunwind/Makefile > > +++ b/devel/libunwind/Makefile > > @@ -1,17 +1,13 @@ > > PORTNAME= libunwind > > -PORTVERSION= 20211201 # This is the release date on https://download.savannah.gnu.org/releases/libunwind/ > > -PORTREVISION= 2 > > +PORTVERSION= 20230730 # This is the release date on https://github.com/libunwind/libunwind/releases > > CATEGORIES= devel > > -MASTER_SITES= SAVANNAH \ > > - https://github.com/libunwind/libunwind/releases/download/v${PORTVERSION}/ > > -DISTNAME= ${PORTNAME}-1.6.2 > > - > > -PATCH_SITES= https://github.com/libunwind/libunwind/commit/ > > -PATCHFILES= ce7e1002888a03fde0eea631748489b12ff56490.patch:-p1 > > +MASTER_SITES= https://github.com/libunwind/libunwind/releases/download/v${LIBUNWIND_VERSION}/ > > +DISTNAME= ${PORTNAME}-${LIBUNWIND_VERSION} > > > > MAINTAINER= sunpoet@FreeBSD.org > > COMMENT= Generic stack unwinding library > > -WWW= https://www.nongnu.org/libunwind/ > > +WWW= https://github.com/libunwind/libunwind \ > > + https://www.nongnu.org/libunwind/ > > > > LICENSE= MIT > > LICENSE_FILE= ${WRKSRC}/COPYING > > @@ -31,6 +27,8 @@ PLIST_SUB= ARCH=${ARCH:S|amd64|x86_64|:C|armv.|arm|:S|i386|x86|:C|powerpc64.*|pp > > > > CPE_VENDOR= libunwind_project > > > > +LIBUNWIND_VERSION= 1.7.2 > > + > > .include <bsd.port.options.mk> [http://bsd.port.options.mk>]; > > > > .if ${ARCH:Mpowerpc*} > > diff --git a/devel/libunwind/distinfo b/devel/libunwind/distinfo > > index 5d98b5400168..03fe9071a429 100644 > > --- a/devel/libunwind/distinfo > > +++ b/devel/libunwind/distinfo > > @@ -1,5 +1,3 @@ > > -TIMESTAMP = 1682376479 > > -SHA256 (libunwind-1.6.2.tar.gz) = 4a6aec666991fb45d0889c44aede8ad6eb108071c3554fcdff671f9c94794976 > > -SIZE (libunwind-1.6.2.tar.gz) = 901392 > > -SHA256 (ce7e1002888a03fde0eea631748489b12ff56490.patch) = 1bc9c6c2c3a73893fdd54e67c154633a1c6f756b1f71bc99353edc417cb24ee0 > > -SIZE (ce7e1002888a03fde0eea631748489b12ff56490.patch) = 18260 > > +TIMESTAMP = 1697307744 > > +SHA256 (libunwind-1.7.2.tar.gz) = a18a6a24307443a8ace7a8acc2ce79fbbe6826cd0edf98d6326d0225d6a5d6e6 > > +SIZE (libunwind-1.7.2.tar.gz) = 912590 > > diff --git a/devel/libunwind/files/patch-aarch64 b/devel/libunwind/files/patch-aarch64 > > deleted file mode 100644 > > index 5df59a1815ae..000000000000 > > --- a/devel/libunwind/files/patch-aarch64 > > +++ /dev/null > > @@ -1,64 +0,0 @@ > > -Reference: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=262447 > > - https://github.com/libunwind/libunwind/pull/344 > > - > > ---- include/libunwind-aarch64.h.orig 2021-12-01 00:46:39 UTC > > -+++ include/libunwind-aarch64.h > > -@@ -226,15 +226,24 @@ typedef struct > > - #else > > - /* On AArch64, we can directly use ucontext_t as the unwind context. */ > > - typedef ucontext_t unw_tdep_context_t; > > -+#if defined(__FreeBSD__) > > -+typedef ucontext_t unw_fpsimd_context_t; > > - #endif > > -+#endif > > - > > - > > - #include "libunwind-common.h" > > - #include "libunwind-dynamic.h" > > - > > -+#if defined(__FreeBSD__) > > -+#define UNW_BASE register uint64_t unw_base __asm__ ("x0") = (uint64_t) unw_ctx->uc_mcontext.mc_gpregs.gp_x[0]; > > -+#else > > -+#define UNW_BASE register uint64_t unw_base __asm__ ("x0") = (uint64_t) unw_ctx->uc_mcontext.regs; > > -+#endif > > -+ > > - #define unw_tdep_getcontext(uc) ({ \ > > - unw_tdep_context_t *unw_ctx = (uc); \ > > -- register uint64_t unw_base __asm__ ("x0") = (uint64_t) unw_ctx->uc_mcontext.regs; \ > > -+ UNW_BASE \ > > - __asm__ __volatile__ ( \ > > - "stp x0, x1, [%[base], #0]\n" \ > > - "stp x2, x3, [%[base], #16]\n" \ > > ---- src/aarch64/Ginit.c.orig 2021-11-30 17:12:31 UTC > > -+++ src/aarch64/Ginit.c > > -@@ -47,9 +47,17 @@ static inline void * > > - uc_addr (unw_tdep_context_t *uc, int reg) > > - { > > - if (reg >= UNW_AARCH64_X0 && reg < UNW_AARCH64_V0) > > -+#if defined(__FreeBSD__) > > -+ return &uc->uc_mcontext.mc_gpregs.gp_x[reg]; > > -+#else > > - return &uc->uc_mcontext.regs[reg]; > > -+#endif > > - else if (reg >= UNW_AARCH64_V0 && reg <= UNW_AARCH64_V31) > > -+#if defined(__FreeBSD__) > > -+ return &GET_FPCTX(uc)->uc_mcontext.mc_fpregs.fp_q[reg - UNW_AARCH64_V0]; > > -+#else > > - return &GET_FPCTX(uc)->vregs[reg - UNW_AARCH64_V0]; > > -+#endif > > - else > > - return NULL; > > - } > > ---- src/aarch64/unwind_i.h.orig 2020-04-28 15:49:14 UTC > > -+++ src/aarch64/unwind_i.h > > -@@ -59,6 +59,10 @@ extern int aarch64_local_resume (unw_addr_space_t as, > > - } while (0) > > - #endif > > - > > -+#if defined(__FreeBSD__) > > -+#define GET_FPCTX(uc) ((unw_tdep_context_t *)(&uc->uc_mcontext.mc_spare)) > > -+#else > > - #define GET_FPCTX(uc) ((unw_fpsimd_context_t *)(&uc->uc_mcontext.__reserved)) > > -+#endif > > - > > - #endif /* unwind_i_h */ > > diff --git a/devel/libunwind/files/patch-bug-269875 b/devel/libunwind/files/patch-bug-269875 > > deleted file mode 100644 > > index 6655731e6c4b..000000000000 > > --- a/devel/libunwind/files/patch-bug-269875 > > +++ /dev/null > > @@ -1,310 +0,0 @@ > > -Obtained from: https://github.com/libunwind/libunwind/commit/400b3f819ad44ff4e15487b163cc3613389cb4c8 > > - > > ---- include/dwarf.h.orig 2021-12-01 00:46:39 UTC > > -+++ include/dwarf.h > > -@@ -231,6 +231,7 @@ typedef enum > > - DWARF_WHERE_REG, /* register saved in another register */ > > - DWARF_WHERE_EXPR, /* register saved */ > > - DWARF_WHERE_VAL_EXPR, /* register has computed value */ > > -+ DWARF_WHERE_CFA, /* register is set to the computed cfa value */ > > - } > > - dwarf_where_t; > > - > > -@@ -313,7 +314,7 @@ typedef struct dwarf_cursor > > - void *as_arg; /* argument to address-space callbacks */ > > - unw_addr_space_t as; /* reference to per-address-space info */ > > - > > -- unw_word_t cfa; /* canonical frame address; aka frame-/stack-pointer */ > > -+ unw_word_t cfa; /* canonical frame address; aka frame-pointer */ > > - unw_word_t ip; /* instruction pointer */ > > - unw_word_t args_size; /* size of arguments */ > > - unw_word_t eh_args[UNW_TDEP_NUM_EH_REGS]; > > ---- include/libunwind_i.h.orig 2021-12-01 00:46:39 UTC > > -+++ include/libunwind_i.h > > -@@ -346,6 +346,10 @@ static inline void invalidate_edi (struct elf_dyn_info > > - > > - #include "tdep/libunwind_i.h" > > - > > -+#ifndef TDEP_DWARF_SP > > -+#define TDEP_DWARF_SP UNW_TDEP_SP > > -+#endif > > -+ > > - #ifndef tdep_get_func_addr > > - # define tdep_get_func_addr(as,addr,v) (*(v) = addr, 0) > > - #endif > > ---- include/tdep-x86/dwarf-config.h.orig 2021-12-01 00:46:39 UTC > > -+++ include/tdep-x86/dwarf-config.h > > -@@ -43,9 +43,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE > > - typedef struct dwarf_loc > > - { > > - unw_word_t val; > > --#ifndef UNW_LOCAL_ONLY > > - unw_word_t type; /* see X86_LOC_TYPE_* macros. */ > > --#endif > > - } > > - dwarf_loc_t; > > - > > ---- include/tdep-x86/libunwind_i.h.orig 2021-12-01 00:46:39 UTC > > -+++ include/tdep-x86/libunwind_i.h > > -@@ -84,15 +84,26 @@ dwarf_get_uc(const struct dwarf_cursor *cursor) > > - } > > - > > - #define DWARF_GET_LOC(l) ((l).val) > > -+# define DWARF_LOC_TYPE_MEM (0 << 0) > > -+# define DWARF_LOC_TYPE_FP (1 << 0) > > -+# define DWARF_LOC_TYPE_REG (1 << 1) > > -+# define DWARF_LOC_TYPE_VAL (1 << 2) > > - > > --#ifdef UNW_LOCAL_ONLY > > -+# define DWARF_IS_REG_LOC(l) (((l).type & DWARF_LOC_TYPE_REG) != 0) > > -+# define DWARF_IS_FP_LOC(l) (((l).type & DWARF_LOC_TYPE_FP) != 0) > > -+# define DWARF_IS_MEM_LOC(l) ((l).type == DWARF_LOC_TYPE_MEM) > > -+# define DWARF_IS_VAL_LOC(l) (((l).type & DWARF_LOC_TYPE_VAL) != 0) > > -+ > > -+# define DWARF_LOC(r, t) ((dwarf_loc_t) { .val = (r), .type = (t) }) > > - # define DWARF_NULL_LOC DWARF_LOC (0, 0) > > --# define DWARF_IS_NULL_LOC(l) (DWARF_GET_LOC (l) == 0) > > --# define DWARF_LOC(r, t) ((dwarf_loc_t) { .val = (r) }) > > --# define DWARF_IS_REG_LOC(l) 0 > > -+# define DWARF_IS_NULL_LOC(l) \ > > -+ ({ dwarf_loc_t _l = (l); _l.val == 0 && _l.type == 0; }) > > -+# define DWARF_VAL_LOC(c,v) The branch main has been updated by sunpoet: > > URL: https://cgit.FreeBSD.org/ports/commit/?id=ee491a6c691b15e6a3313fe8d73cfb2b2ed06e83 > > commit ee491a6c691b15e6a3313fe8d73cfb2b2ed06e83 > > Author: Po-Chuan Hsieh <sunpoet@FreeBSD.org> > > AuthorDate: 2023-11-01 05:30:07 +0000 > > Commit: Po-Chuan Hsieh <sunpoet@FreeBSD.org> > > CommitDate: 2023-11-01 05:30:07 +0000 > > devel/libunwind: Update to 1.7.2 > > > > - Change MASTER_SITES > > - Update WWW > > - Sort PLIST > > > > Changes: https://github.com/libunwind/libunwind/releases > > PR: 274523 > > Exp-run by: antoine > > --- > > devel/libunwind/Makefile | 16 +- > > devel/libunwind/distinfo | 8 +- > > devel/libunwind/files/patch-aarch64 | 64 ------- > > devel/libunwind/files/patch-bug-269875 | 310 --------------------------------- > > devel/libunwind/files/patch-i386 | 13 ++ > > devel/libunwind/pkg-plist | 12 +- > > 6 files changed, 30 insertions(+), 393 deletions(-) > > diff --git a/devel/libunwind/Makefile b/devel/libunwind/Makefile > > index 77af7ab31c2e..72927e2d1d9f 100644 > > --- a/devel/libunwind/Makefile > > +++ b/devel/libunwind/Makefile > > @@ -1,17 +1,13 @@ > > PORTNAME= libunwind > > -PORTVERSION= 20211201 # This is the release date on https://download.savannah.gnu.org/releases/libunwind/ > > -PORTREVISION= 2 > > +PORTVERSION= 20230730 # This is the release date on https://github.com/libunwind/libunwind/releases > > CATEGORIES= devel > > -MASTER_SITES= SAVANNAH \ > > - https://github.com/libunwind/libunwind/releases/download/v${PORTVERSION}/ > > -DISTNAME= ${PORTNAME}-1.6.2 > > - > > -PATCH_SITES= https://github.com/libunwind/libunwind/commit/ > > -PATCHFILES= ce7e1002888a03fde0eea631748489b12ff56490.patch:-p1 > > +MASTER_SITES= https://github.com/libunwind/libunwind/releases/download/v${LIBUNWIND_VERSION}/ > > +DISTNAME= ${PORTNAME}-${LIBUNWIND_VERSION} > > > > MAINTAINER= sunpoet@FreeBSD.org > > COMMENT= Generic stack unwinding library > > -WWW= https://www.nongnu.org/libunwind/ > > +WWW= https://github.com/libunwind/libunwind \ > > + https://www.nongnu.org/libunwind/ > > > > LICENSE= MIT > > LICENSE_FILE= ${WRKSRC}/COPYING > > @@ -31,6 +27,8 @@ PLIST_SUB= ARCH=${ARCH:S|amd64|x86_64|:C|armv.|arm|:S|i386|x86|:C|powerpc64.*|pp > > > > CPE_VENDOR= libunwind_project > > > > +LIBUNWIND_VERSION= 1.7.2 > > + > > .include <bsd.port.options.mk> [http://bsd.port.options.mk>]; > > > > .if ${ARCH:Mpowerpc*} > > diff --git a/devel/libunwind/distinfo b/devel/libunwind/distinfo > > index 5d98b5400168..03fe9071a429 100644 > > --- a/devel/libunwind/distinfo > > +++ b/devel/libunwind/distinfo > > @@ -1,5 +1,3 @@ > > -TIMESTAMP = 1682376479 > > -SHA256 (libunwind-1.6.2.tar.gz) = 4a6aec666991fb45d0889c44aede8ad6eb108071c3554fcdff671f9c94794976 > > -SIZE (libunwind-1.6.2.tar.gz) = 901392 > > -SHA256 (ce7e1002888a03fde0eea631748489b12ff56490.patch) = 1bc9c6c2c3a73893fdd54e67c154633a1c6f756b1f71bc99353edc417cb24ee0 > > -SIZE (ce7e1002888a03fde0eea631748489b12ff56490.patch) = 18260 > > +TIMESTAMP = 1697307744 > > +SHA256 (libunwind-1.7.2.tar.gz) = a18a6a24307443a8ace7a8acc2ce79fbbe6826cd0edf98d6326d0225d6a5d6e6 > > +SIZE (libunwind-1.7.2.tar.gz) = 912590 > > diff --git a/devel/libunwind/files/patch-aarch64 b/devel/libunwind/files/patch-aarch64 > > deleted file mode 100644 > > index 5df59a1815ae..000000000000 > > --- a/devel/libunwind/files/patch-aarch64 > > +++ /dev/null > > @@ -1,64 +0,0 @@ > > -Reference: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=262447 > > - https://github.com/libunwind/libunwind/pull/344 > > - > > ---- include/libunwind-aarch64.h.orig 2021-12-01 00:46:39 UTC > > -+++ include/libunwind-aarch64.h > > -@@ -226,15 +226,24 @@ typedef struct > > - #else > > - /* On AArch64, we can directly use ucontext_t as the unwind context. */ > > - typedef ucontext_t unw_tdep_context_t; > > -+#if defined(__FreeBSD__) > > -+typedef ucontext_t unw_fpsimd_context_t; > > - #endif > > -+#endif > > - > > - > > - #include "libunwind-common.h" > > - #include "libunwind-dynamic.h" > > - > > -+#if defined(__FreeBSD__) > > -+#define UNW_BASE register uint64_t unw_base __asm__ ("x0") = (uint64_t) unw_ctx->uc_mcontext.mc_gpregs.gp_x[0]; > > -+#else > > -+#define UNW_BASE register uint64_t unw_base __asm__ ("x0") = (uint64_t) unw_ctx->uc_mcontext.regs; > > -+#endif > > -+ > > - #define unw_tdep_getcontext(uc) ({ \ > > - unw_tdep_context_t *unw_ctx = (uc); \ > > -- register uint64_t unw_base __asm__ ("x0") = (uint64_t) unw_ctx->uc_mcontext.regs; \ > > -+ UNW_BASE \ > > - __asm__ __volatile__ ( \ > > - "stp x0, x1, [%[base], #0]\n" \ > > - "stp x2, x3, [%[base], #16]\n" \ > > ---- src/aarch64/Ginit.c.orig 2021-11-30 17:12:31 UTC > > -+++ src/aarch64/Ginit.c > > -@@ -47,9 +47,17 @@ static inline void * > > - uc_addr (unw_tdep_context_t *uc, int reg) > > - { > > - if (reg >= UNW_AARCH64_X0 && reg < UNW_AARCH64_V0) > > -+#if defined(__FreeBSD__) > > -+ return &uc->uc_mcontext.mc_gpregs.gp_x[reg]; > > -+#else > > - return &uc->uc_mcontext.regs[reg]; > > -+#endif > > - else if (reg >= UNW_AARCH64_V0 && reg <= UNW_AARCH64_V31) > > -+#if defined(__FreeBSD__) > > -+ return &GET_FPCTX(uc)->uc_mcontext.mc_fpregs.fp_q[reg - UNW_AARCH64_V0]; > > -+#else > > - return &GET_FPCTX(uc)->vregs[reg - UNW_AARCH64_V0]; > > -+#endif > > - else > > - return NULL; > > - } > > ---- src/aarch64/unwind_i.h.orig 2020-04-28 15:49:14 UTC > > -+++ src/aarch64/unwind_i.h > > -@@ -59,6 +59,10 @@ extern int aarch64_local_resume (unw_addr_space_t as, > > - } while (0) > > - #endif > > - > > -+#if defined(__FreeBSD__) > > -+#define GET_FPCTX(uc) ((unw_tdep_context_t *)(&uc->uc_mcontext.mc_spare)) > > -+#else > > - #define GET_FPCTX(uc) ((unw_fpsimd_context_t *)(&uc->uc_mcontext.__reserved)) > > -+#endif > > - > > - #endif /* unwind_i_h */ > > diff --git a/devel/libunwind/files/patch-bug-269875 b/devel/libunwind/files/patch-bug-269875 > > deleted file mode 100644 > > index 6655731e6c4b..000000000000 > > --- a/devel/libunwind/files/patch-bug-269875 > > +++ /dev/null > > @@ -1,310 +0,0 @@ > > -Obtained from: https://github.com/libunwind/libunwind/commit/400b3f819ad44ff4e15487b163cc3613389cb4c8 > > - > > ---- include/dwarf.h.orig 2021-12-01 00:46:39 UTC > > -+++ include/dwarf.h > > -@@ -231,6 +231,7 @@ typedef enum > > - DWARF_WHERE_REG, /* register saved in another register */ > > - DWARF_WHERE_EXPR, /* register saved */ > > - DWARF_WHERE_VAL_EXPR, /* register has computed value */ > > -+ DWARF_WHERE_CFA, /* register is set to the computed cfa value */ > > - } > > - dwarf_where_t; > > - > > -@@ -313,7 +314,7 @@ typedef struct dwarf_cursor > > - void *as_arg; /* argument to address-space callbacks */ > > - unw_addr_space_t as; /* reference to per-address-space info */ > > - > > -- unw_word_t cfa; /* canonical frame address; aka frame-/stack-pointer */ > > -+ unw_word_t cfa; /* canonical frame address; aka frame-pointer */ > > - unw_word_t ip; /* instruction pointer */ > > - unw_word_t args_size; /* size of arguments */ > > - unw_word_t eh_args[UNW_TDEP_NUM_EH_REGS]; > > ---- include/libunwind_i.h.orig 2021-12-01 00:46:39 UTC > > -+++ include/libunwind_i.h > > -@@ -346,6 +346,10 @@ static inline void invalidate_edi (struct elf_dyn_info > > - > > - #include "tdep/libunwind_i.h" > > - > > -+#ifndef TDEP_DWARF_SP > > -+#define TDEP_DWARF_SP UNW_TDEP_SP > > -+#endif > > -+ > > - #ifndef tdep_get_func_addr > > - # define tdep_get_func_addr(as,addr,v) (*(v) = addr, 0) > > - #endif > > ---- include/tdep-x86/dwarf-config.h.orig 2021-12-01 00:46:39 UTC > > -+++ include/tdep-x86/dwarf-config.h > > -@@ -43,9 +43,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE > > - typedef struct dwarf_loc > > - { > > - unw_word_t val; > > --#ifndef UNW_LOCAL_ONLY > > - unw_word_t type; /* see X86_LOC_TYPE_* macros. */ > > --#endif > > - } > > - dwarf_loc_t; > > - > > ---- include/tdep-x86/libunwind_i.h.orig 2021-12-01 00:46:39 UTC > > -+++ include/tdep-x86/libunwind_i.h > > -@@ -84,15 +84,26 @@ dwarf_get_uc(const struct dwarf_cursor *cursor) > > - } > > - > > - #define DWARF_GET_LOC(l) ((l).val) > > -+# define DWARF_LOC_TYPE_MEM (0 << 0) > > -+# define DWARF_LOC_TYPE_FP (1 << 0) > > -+# define DWARF_LOC_TYPE_REG (1 << 1) > > -+# define DWARF_LOC_TYPE_VAL (1 << 2) > > - > > --#ifdef UNW_LOCAL_ONLY > > -+# define DWARF_IS_REG_LOC(l) (((l).type & DWARF_LOC_TYPE_REG) != 0) > > -+# define DWARF_IS_FP_LOC(l) (((l).type & DWARF_LOC_TYPE_FP) != 0) > > -+# define DWARF_IS_MEM_LOC(l) ((l).type == DWARF_LOC_TYPE_MEM) > > -+# define DWARF_IS_VAL_LOC(l) (((l).type & DWARF_LOC_TYPE_VAL) != 0) > > -+ > > -+# define DWARF_LOC(r, t) ((dwarf_loc_t) { .val = (r), .type = (t) }) > > - # define DWARF_NULL_LOC DWARF_LOC (0, 0) > > --# define DWARF_IS_NULL_LOC(l) (DWARF_GET_LOC (l) == 0) > > --# define DWARF_LOC(r, t) ((dwarf_loc_t) { .val = (r) }) > > --# define DWARF_IS_REG_LOC(l) 0 > > -+# define DWARF_IS_NULL_LOC(l) \ > > -+ ({ dwarf_loc_t _l = (l); _l.val == 0 && _l.type == 0; }) > > -+# define DWARF_VAL_LOC(c,v) - ret = dwarf_get (&c->dwarf, c->dwarf.loc[RIP], &c->dwarf.ip); > > - Debug (1, "Frame Chain [RIP=0x%Lx] = 0x%Lx\n", > > ---- src/x86_64/Gregs.c.orig 2021-12-01 00:46:39 UTC > > -+++ src/x86_64/Gregs.c > > -@@ -79,7 +79,6 @@ tdep_access_reg (struct cursor *c, unw_regnum_t reg, u > > - break; > > - > > - case UNW_X86_64_CFA: > > -- case UNW_X86_64_RSP: > > - if (write) > > - return -UNW_EREADONLYREG; > > - *valp = c->dwarf.cfa [http://dwarf.cfa]; > > -@@ -107,6 +106,7 @@ tdep_access_reg (struct cursor *c, unw_regnum_t reg, u > > - case UNW_X86_64_RCX: loc = c->dwarf.loc[RCX]; break; > > - case UNW_X86_64_RBX: loc = c->dwarf.loc[RBX]; break; > > - > > -+ case UNW_X86_64_RSP: loc = c->dwarf.loc[RSP]; break; > > - case UNW_X86_64_RBP: loc = c->dwarf.loc[RBP]; break; > > - case UNW_X86_64_RSI: loc = c->dwarf.loc[RSI]; break; > > - case UNW_X86_64_RDI: loc = c->dwarf.loc[RDI]; break; > > ---- src/x86_64/Gstep.c.orig 2021-12-01 00:46:39 UTC > > -+++ src/x86_64/Gstep.c > > -@@ -223,7 +223,7 @@ unw_step (unw_cursor_t *cursor) > > - Debug (2, "RIP fixup didn't work, falling back\n"); > > - unw_word_t rbp1 = 0; > > - rbp_loc = DWARF_LOC(rbp, 0); > > -- rsp_loc = DWARF_NULL_LOC; > > -+ rsp_loc = DWARF_VAL_LOC(c, rbp + 16); > > - rip_loc = DWARF_LOC (rbp + 8, 0); > > - ret = dwarf_get (&c->dwarf, rbp_loc, &rbp1); > > - Debug (1, "[RBP=0x%lx] = 0x%lx (cfa = 0x%lx) -> 0x%lx\n", > > diff --git a/devel/libunwind/files/patch-i386 b/devel/libunwind/files/patch-i386 > > new file mode 100644 > > index 000000000000..86f24c8417ab > > --- /dev/null > > +++ b/devel/libunwind/files/patch-i386 > > @@ -0,0 +1,13 @@ > > +Reference: https://github.com/libunwind/libunwind/pull/645 > > + https://github.com/libunwind/libunwind/commit/24dc3b0880695137a48c2ad0244900f9bb8416eb > > + > > +--- src/x86/Gos-freebsd.c.orig 2023-07-30 11:32:29 UTC > > ++++ src/x86/Gos-freebsd.c > > +@@ -111,6 +111,7 @@ x86_handle_signal_frame (unw_cursor_t *cursor) > > + struct sigframe *sf; > > + uintptr_t uc_addr; > > + struct dwarf_loc esp_loc; > > ++ int i; > > + > > + sf = (struct sigframe *)c->dwarf.cfa [http://dwarf.cfa]; > > + uc_addr = (uintptr_t)&(sf->sf_uc); > > diff --git a/devel/libunwind/pkg-plist b/devel/libunwind/pkg-plist > > index 73e648228c4a..f2e8304ce292 100644 > > --- a/devel/libunwind/pkg-plist > > +++ b/devel/libunwind/pkg-plist > > @@ -1,9 +1,13 @@ > > +include/libunwind-%%ARCH%%.h > > include/libunwind-common.h > > %%COREDUMP%%include/libunwind-coredump.h > > include/libunwind-dynamic.h > > include/libunwind-ptrace.h > > -include/libunwind-%%ARCH%%.h > > include/libunwind.h > > +lib/libunwind-%%ARCH%%.a > > +lib/libunwind-%%ARCH%%.so > > +lib/libunwind-%%ARCH%%.so.8 > > +lib/libunwind-%%ARCH%%.so.8.0.1 > > %%COREDUMP%%lib/libunwind-coredump.a > > %%COREDUMP%%lib/libunwind-coredump.so [http://libunwind-coredump.so] > > %%COREDUMP%%lib/libunwind-coredump.so.0 [http://libunwind-coredump.so.0] > > @@ -18,10 +22,6 @@ lib/libunwind-setjmp.a > > lib/libunwind-setjmp.so [http://libunwind-setjmp.so] > > lib/libunwind-setjmp.so.0 [http://libunwind-setjmp.so.0] > > lib/libunwind-setjmp.so.0.0.0 [http://libunwind-setjmp.so.0.0.0] > > -lib/libunwind-%%ARCH%%.a > > -lib/libunwind-%%ARCH%%.so > > -lib/libunwind-%%ARCH%%.so.8 > > -lib/libunwind-%%ARCH%%.so.8.0.1 > > lib/libunwind.a > > lib/libunwind.so [http://libunwind.so] > > lib/libunwind.so.8 [http://libunwind.so.8] > > @@ -47,7 +47,9 @@ man/man3/unw_get_accessors.3.gz > > man/man3/unw_get_fpreg.3.gz > > man/man3/unw_get_proc_info.3.gz > > man/man3/unw_get_proc_info_by_ip.3.gz > > +man/man3/unw_get_proc_info_in_range.3.gz > > man/man3/unw_get_proc_name.3.gz > > +man/man3/unw_get_proc_name_by_ip.3.gz > > man/man3/unw_get_reg.3.gz > > man/man3/unw_getcontext.3.gz > > man/man3/unw_init_local.3.gz Hi, Can we please follow upstream's versioning scheme like everyone else? https://repology.org/project/libunwind/versions Best regards, Daniel