diff options
author | Sunpoet Po-Chuan Hsieh <sunpoet@FreeBSD.org> | 2021-01-26 14:00:24 +0000 |
---|---|---|
committer | Sunpoet Po-Chuan Hsieh <sunpoet@FreeBSD.org> | 2021-01-26 14:00:24 +0000 |
commit | 3ab2020a3833328793b2f6efa94e617d563098c2 (patch) | |
tree | 34c9c970c26e3c0eafdb805bec93c00eefaaf5ff | |
parent | Bump PORTREVISION for astro/cfitsio shlib change (diff) |
Update to 20201110 (1.5.0)
Changes: https://github.com/libunwind/libunwind/releases
PR: 252569
Exp-run by: antoine
-rw-r--r-- | devel/libunwind/Makefile | 7 | ||||
-rw-r--r-- | devel/libunwind/distinfo | 8 | ||||
-rw-r--r-- | devel/libunwind/files/patch-llvm11 | 387 |
3 files changed, 6 insertions, 396 deletions
diff --git a/devel/libunwind/Makefile b/devel/libunwind/Makefile index b48afde63592..5bbe94210e61 100644 --- a/devel/libunwind/Makefile +++ b/devel/libunwind/Makefile @@ -2,12 +2,11 @@ # $FreeBSD$ PORTNAME= libunwind -PORTVERSION= 20200331 # This is the release date on SAVANNAH -PORTREVISION= 1 +PORTVERSION= 20201110 # This is the release date on https://download.savannah.gnu.org/releases/libunwind/ CATEGORIES= devel MASTER_SITES= SAVANNAH \ https://github.com/libunwind/libunwind/releases/download/v${PORTVERSION}/ -DISTNAME= ${PORTNAME}-1.4.0 +DISTNAME= ${PORTNAME}-1.5.0 MAINTAINER= sunpoet@FreeBSD.org COMMENT= Generic stack unwinding library @@ -30,7 +29,7 @@ PLIST_SUB= ARCH=${ARCH:S|i386|x86|:S|amd64|x86_64|:C|powerpc64.*|ppc64|} .include <bsd.port.pre.mk> -.if ! ${ARCH:Mpowerpc64*} +.if !${ARCH:Mpowerpc64*} PLIST_SUB+= COREDUMP="" .else PLIST_SUB+= COREDUMP="@comment " diff --git a/devel/libunwind/distinfo b/devel/libunwind/distinfo index 8e417a4d728c..068be3fc37f7 100644 --- a/devel/libunwind/distinfo +++ b/devel/libunwind/distinfo @@ -1,5 +1,3 @@ -TIMESTAMP = 1597761383 -SHA256 (libunwind-1.4.0.tar.gz) = df59c931bd4d7ebfd83ee481c943edf015138089b8e50abed8d9c57ba9338435 -SIZE (libunwind-1.4.0.tar.gz) = 872941 -SHA256 (29e17d8d2ccbca07c423e3089a6d5ae8a1c9cb6e.diff) = bb9473bb7d18670e8348ac2af1f096638cdb8678782d1ad7f75c24e1f6a5e8c0 -SIZE (29e17d8d2ccbca07c423e3089a6d5ae8a1c9cb6e.diff) = 14046 +TIMESTAMP = 1605863812 +SHA256 (libunwind-1.5.0.tar.gz) = 90337653d92d4a13de590781371c604f9031cdb50520366aa1e3a91e1efb1017 +SIZE (libunwind-1.5.0.tar.gz) = 878355 diff --git a/devel/libunwind/files/patch-llvm11 b/devel/libunwind/files/patch-llvm11 deleted file mode 100644 index 0bec6079a8b5..000000000000 --- a/devel/libunwind/files/patch-llvm11 +++ /dev/null @@ -1,387 +0,0 @@ -Obtained from: https://github.com/libunwind/libunwind/commit/29e17d8d2ccbca07c423e3089a6d5ae8a1c9cb6e - ---- src/aarch64/Ginit.c.orig 2020-03-31 15:35:32 UTC -+++ src/aarch64/Ginit.c -@@ -61,13 +61,6 @@ tdep_uc_addr (unw_tdep_context_t *uc, int reg) - - # endif /* UNW_LOCAL_ONLY */ - --HIDDEN unw_dyn_info_list_t _U_dyn_info_list; -- --/* XXX fix me: there is currently no way to locate the dyn-info list -- by a remote unwinder. On ia64, this is done via a special -- unwind-table entry. Perhaps something similar can be done with -- DWARF2 unwind info. */ -- - static void - put_unwind_info (unw_addr_space_t as, unw_proc_info_t *proc_info, void *arg) - { -@@ -78,7 +71,13 @@ static int - get_dyn_info_list_addr (unw_addr_space_t as, unw_word_t *dyn_info_list_addr, - void *arg) - { -- *dyn_info_list_addr = (unw_word_t) &_U_dyn_info_list; -+#ifndef UNW_LOCAL_ONLY -+# pragma weak _U_dyn_info_list_addr -+ if (!_U_dyn_info_list_addr) -+ return -UNW_ENOINFO; -+#endif -+ // Access the `_U_dyn_info_list` from `LOCAL_ONLY` library, i.e. libunwind.so. -+ *dyn_info_list_addr = _U_dyn_info_list_addr (); - return 0; - } - ---- src/arm/Ginit.c.orig 2020-03-31 15:35:32 UTC -+++ src/arm/Ginit.c -@@ -57,18 +57,17 @@ tdep_uc_addr (unw_tdep_context_t *uc, int reg) - - # endif /* UNW_LOCAL_ONLY */ - --HIDDEN unw_dyn_info_list_t _U_dyn_info_list; -- --/* XXX fix me: there is currently no way to locate the dyn-info list -- by a remote unwinder. On ia64, this is done via a special -- unwind-table entry. Perhaps something similar can be done with -- DWARF2 unwind info. */ -- - static int - get_dyn_info_list_addr (unw_addr_space_t as, unw_word_t *dyn_info_list_addr, - void *arg) - { -- *dyn_info_list_addr = (unw_word_t) &_U_dyn_info_list; -+#ifndef UNW_LOCAL_ONLY -+# pragma weak _U_dyn_info_list_addr -+ if (!_U_dyn_info_list_addr) -+ return -UNW_ENOINFO; -+#endif -+ // Access the `_U_dyn_info_list` from `LOCAL_ONLY` library, i.e. libunwind.so. -+ *dyn_info_list_addr = _U_dyn_info_list_addr (); - return 0; - } - ---- src/coredump/_UPT_get_dyn_info_list_addr.c.orig 2020-03-31 15:35:32 UTC -+++ src/coredump/_UPT_get_dyn_info_list_addr.c -@@ -74,6 +74,11 @@ get_list_addr (unw_addr_space_t as, unw_word_t *dil_ad - - #else - -+/* XXX fix me: there is currently no way to locate the dyn-info list -+ by a remote unwinder. On ia64, this is done via a special -+ unwind-table entry. Perhaps something similar can be done with -+ DWARF2 unwind info. */ -+ - static inline int - get_list_addr (unw_addr_space_t as, unw_word_t *dil_addr, void *arg, - int *countp) ---- src/hppa/Ginit.c.orig 2020-03-31 15:35:32 UTC -+++ src/hppa/Ginit.c -@@ -64,13 +64,6 @@ _Uhppa_uc_addr (ucontext_t *uc, int reg) - - # endif /* UNW_LOCAL_ONLY */ - --HIDDEN unw_dyn_info_list_t _U_dyn_info_list; -- --/* XXX fix me: there is currently no way to locate the dyn-info list -- by a remote unwinder. On ia64, this is done via a special -- unwind-table entry. Perhaps something similar can be done with -- DWARF2 unwind info. */ -- - static void - put_unwind_info (unw_addr_space_t as, unw_proc_info_t *proc_info, void *arg) - { -@@ -81,7 +74,13 @@ static int - get_dyn_info_list_addr (unw_addr_space_t as, unw_word_t *dyn_info_list_addr, - void *arg) - { -- *dyn_info_list_addr = (unw_word_t) &_U_dyn_info_list; -+#ifndef UNW_LOCAL_ONLY -+# pragma weak _U_dyn_info_list_addr -+ if (!_U_dyn_info_list_addr) -+ return -UNW_ENOINFO; -+#endif -+ // Access the `_U_dyn_info_list` from `LOCAL_ONLY` library, i.e. libunwind.so. -+ *dyn_info_list_addr = _U_dyn_info_list_addr (); - return 0; - } - ---- src/ia64/Ginit.c.orig 2020-03-31 15:35:32 UTC -+++ src/ia64/Ginit.c -@@ -68,6 +68,7 @@ get_dyn_info_list_addr (unw_addr_space_t as, unw_word_ - if (!_U_dyn_info_list_addr) - return -UNW_ENOINFO; - #endif -+ // Access the `_U_dyn_info_list` from `LOCAL_ONLY` library, i.e. libunwind.so. - *dyn_info_list_addr = _U_dyn_info_list_addr (); - return 0; - } ---- src/mi/Gfind_dynamic_proc_info.c.orig 2020-03-31 15:35:32 UTC -+++ src/mi/Gfind_dynamic_proc_info.c -@@ -49,6 +49,7 @@ local_find_proc_info (unw_addr_space_t as, unw_word_t - return -UNW_ENOINFO; - #endif - -+ // Access the `_U_dyn_info_list` from `LOCAL_ONLY` library, i.e. libunwind.so. - list = (unw_dyn_info_list_t *) (uintptr_t) _U_dyn_info_list_addr (); - for (di = list->first; di; di = di->next) - if (ip >= di->start_ip && ip < di->end_ip) ---- src/mips/Ginit.c.orig 2020-03-31 15:35:32 UTC -+++ src/mips/Ginit.c -@@ -69,13 +69,6 @@ tdep_uc_addr (ucontext_t *uc, int reg) - - # endif /* UNW_LOCAL_ONLY */ - --HIDDEN unw_dyn_info_list_t _U_dyn_info_list; -- --/* XXX fix me: there is currently no way to locate the dyn-info list -- by a remote unwinder. On ia64, this is done via a special -- unwind-table entry. Perhaps something similar can be done with -- DWARF2 unwind info. */ -- - static void - put_unwind_info (unw_addr_space_t as, unw_proc_info_t *proc_info, void *arg) - { -@@ -86,7 +79,13 @@ static int - get_dyn_info_list_addr (unw_addr_space_t as, unw_word_t *dyn_info_list_addr, - void *arg) - { -- *dyn_info_list_addr = (unw_word_t) (intptr_t) &_U_dyn_info_list; -+#ifndef UNW_LOCAL_ONLY -+# pragma weak _U_dyn_info_list_addr -+ if (!_U_dyn_info_list_addr) -+ return -UNW_ENOINFO; -+#endif -+ // Access the `_U_dyn_info_list` from `LOCAL_ONLY` library, i.e. libunwind.so. -+ *dyn_info_list_addr = _U_dyn_info_list_addr (); - return 0; - } - ---- src/ppc32/Ginit.c.orig 2020-03-31 15:35:32 UTC -+++ src/ppc32/Ginit.c -@@ -91,9 +91,6 @@ tdep_uc_addr (ucontext_t *uc, int reg) - - # endif /* UNW_LOCAL_ONLY */ - --HIDDEN unw_dyn_info_list_t _U_dyn_info_list; -- -- - static void - put_unwind_info (unw_addr_space_t as, unw_proc_info_t *proc_info, void *arg) - { -@@ -104,7 +101,13 @@ static int - get_dyn_info_list_addr (unw_addr_space_t as, unw_word_t *dyn_info_list_addr, - void *arg) - { -- *dyn_info_list_addr = (unw_word_t) &_U_dyn_info_list; -+#ifndef UNW_LOCAL_ONLY -+# pragma weak _U_dyn_info_list_addr -+ if (!_U_dyn_info_list_addr) -+ return -UNW_ENOINFO; -+#endif -+ // Access the `_U_dyn_info_list` from `LOCAL_ONLY` library, i.e. libunwind.so. -+ *dyn_info_list_addr = _U_dyn_info_list_addr (); - return 0; - } - ---- src/ppc64/Ginit.c.orig 2020-03-31 15:35:32 UTC -+++ src/ppc64/Ginit.c -@@ -95,9 +95,6 @@ tdep_uc_addr (ucontext_t *uc, int reg) - - # endif /* UNW_LOCAL_ONLY */ - --HIDDEN unw_dyn_info_list_t _U_dyn_info_list; -- -- - static void - put_unwind_info (unw_addr_space_t as, unw_proc_info_t *proc_info, void *arg) - { -@@ -108,7 +105,13 @@ static int - get_dyn_info_list_addr (unw_addr_space_t as, unw_word_t *dyn_info_list_addr, - void *arg) - { -- *dyn_info_list_addr = (unw_word_t) &_U_dyn_info_list; -+#ifndef UNW_LOCAL_ONLY -+# pragma weak _U_dyn_info_list_addr -+ if (!_U_dyn_info_list_addr) -+ return -UNW_ENOINFO; -+#endif -+ // Access the `_U_dyn_info_list` from `LOCAL_ONLY` library, i.e. libunwind.so. -+ *dyn_info_list_addr = _U_dyn_info_list_addr (); - return 0; - } - ---- src/ptrace/_UPT_get_dyn_info_list_addr.c.orig 2020-03-31 15:35:32 UTC -+++ src/ptrace/_UPT_get_dyn_info_list_addr.c -@@ -71,6 +71,11 @@ get_list_addr (unw_addr_space_t as, unw_word_t *dil_ad - - #else - -+/* XXX fix me: there is currently no way to locate the dyn-info list -+ by a remote unwinder. On ia64, this is done via a special -+ unwind-table entry. Perhaps something similar can be done with -+ DWARF2 unwind info. */ -+ - static inline int - get_list_addr (unw_addr_space_t as, unw_word_t *dil_addr, void *arg, - int *countp) ---- src/s390x/Ginit.c.orig 2020-03-31 15:35:32 UTC -+++ src/s390x/Ginit.c -@@ -50,8 +50,6 @@ static struct unw_addr_space local_addr_space; - - unw_addr_space_t unw_local_addr_space = &local_addr_space; - --HIDDEN unw_dyn_info_list_t _U_dyn_info_list; -- - static inline void * - uc_addr (ucontext_t *uc, int reg) - { -@@ -75,11 +73,6 @@ tdep_uc_addr (ucontext_t *uc, int reg) - - # endif /* UNW_LOCAL_ONLY */ - --/* XXX fix me: there is currently no way to locate the dyn-info list -- by a remote unwinder. On ia64, this is done via a special -- unwind-table entry. Perhaps something similar can be done with -- DWARF2 unwind info. */ -- - static void - put_unwind_info (unw_addr_space_t as, unw_proc_info_t *proc_info, void *arg) - { -@@ -90,7 +83,13 @@ static int - get_dyn_info_list_addr (unw_addr_space_t as, unw_word_t *dyn_info_list_addr, - void *arg) - { -- *dyn_info_list_addr = (unw_word_t) &_U_dyn_info_list; -+#ifndef UNW_LOCAL_ONLY -+# pragma weak _U_dyn_info_list_addr -+ if (!_U_dyn_info_list_addr) -+ return -UNW_ENOINFO; -+#endif -+ // Access the `_U_dyn_info_list` from `LOCAL_ONLY` library, i.e. libunwind.so. -+ *dyn_info_list_addr = _U_dyn_info_list_addr (); - return 0; - } - ---- src/sh/Ginit.c.orig 2020-03-31 15:35:32 UTC -+++ src/sh/Ginit.c -@@ -58,13 +58,6 @@ tdep_uc_addr (ucontext_t *uc, int reg) - - # endif /* UNW_LOCAL_ONLY */ - --HIDDEN unw_dyn_info_list_t _U_dyn_info_list; -- --/* XXX fix me: there is currently no way to locate the dyn-info list -- by a remote unwinder. On ia64, this is done via a special -- unwind-table entry. Perhaps something similar can be done with -- DWARF2 unwind info. */ -- - static void - put_unwind_info (unw_addr_space_t as, unw_proc_info_t *proc_info, void *arg) - { -@@ -75,7 +68,13 @@ static int - get_dyn_info_list_addr (unw_addr_space_t as, unw_word_t *dyn_info_list_addr, - void *arg) - { -- *dyn_info_list_addr = (unw_word_t) &_U_dyn_info_list; -+#ifndef UNW_LOCAL_ONLY -+# pragma weak _U_dyn_info_list_addr -+ if (!_U_dyn_info_list_addr) -+ return -UNW_ENOINFO; -+#endif -+ // Access the `_U_dyn_info_list` from `LOCAL_ONLY` library, i.e. libunwind.so. -+ *dyn_info_list_addr = _U_dyn_info_list_addr (); - return 0; - } - ---- src/tilegx/Ginit.c.orig 2020-03-31 15:35:32 UTC -+++ src/tilegx/Ginit.c -@@ -64,13 +64,6 @@ tdep_uc_addr (ucontext_t *uc, int reg) - - # endif /* UNW_LOCAL_ONLY */ - --HIDDEN unw_dyn_info_list_t _U_dyn_info_list; -- --/* XXX fix me: there is currently no way to locate the dyn-info list -- by a remote unwinder. On ia64, this is done via a special -- unwind-table entry. Perhaps something similar can be done with -- DWARF2 unwind info. */ -- - static void - put_unwind_info (unw_addr_space_t as, unw_proc_info_t *proc_info, void *arg) - { -@@ -81,7 +74,13 @@ static int - get_dyn_info_list_addr (unw_addr_space_t as, unw_word_t *dyn_info_list_addr, - void *arg) - { -- *dyn_info_list_addr = (unw_word_t) (intptr_t) &_U_dyn_info_list; -+#ifndef UNW_LOCAL_ONLY -+# pragma weak _U_dyn_info_list_addr -+ if (!_U_dyn_info_list_addr) -+ return -UNW_ENOINFO; -+#endif -+ // Access the `_U_dyn_info_list` from `LOCAL_ONLY` library, i.e. libunwind.so. -+ *dyn_info_list_addr = _U_dyn_info_list_addr (); - return 0; - } - ---- src/x86/Ginit.c.orig 2020-03-31 15:35:32 UTC -+++ src/x86/Ginit.c -@@ -54,13 +54,6 @@ tdep_uc_addr (ucontext_t *uc, int reg) - - # endif /* UNW_LOCAL_ONLY */ - --HIDDEN unw_dyn_info_list_t _U_dyn_info_list; -- --/* XXX fix me: there is currently no way to locate the dyn-info list -- by a remote unwinder. On ia64, this is done via a special -- unwind-table entry. Perhaps something similar can be done with -- DWARF2 unwind info. */ -- - static void - put_unwind_info (unw_addr_space_t as, unw_proc_info_t *proc_info, void *arg) - { -@@ -71,7 +64,13 @@ static int - get_dyn_info_list_addr (unw_addr_space_t as, unw_word_t *dyn_info_list_addr, - void *arg) - { -- *dyn_info_list_addr = (unw_word_t) &_U_dyn_info_list; -+#ifndef UNW_LOCAL_ONLY -+# pragma weak _U_dyn_info_list_addr -+ if (!_U_dyn_info_list_addr) -+ return -UNW_ENOINFO; -+#endif -+ // Access the `_U_dyn_info_list` from `LOCAL_ONLY` library, i.e. libunwind.so. -+ *dyn_info_list_addr = _U_dyn_info_list_addr (); - return 0; - } - ---- src/x86_64/Ginit.c.orig 2020-03-31 15:35:32 UTC -+++ src/x86_64/Ginit.c -@@ -49,13 +49,6 @@ static struct unw_addr_space local_addr_space; - - unw_addr_space_t unw_local_addr_space = &local_addr_space; - --HIDDEN unw_dyn_info_list_t _U_dyn_info_list; -- --/* XXX fix me: there is currently no way to locate the dyn-info list -- by a remote unwinder. On ia64, this is done via a special -- unwind-table entry. Perhaps something similar can be done with -- DWARF2 unwind info. */ -- - static void - put_unwind_info (unw_addr_space_t as, unw_proc_info_t *proc_info, void *arg) - { -@@ -66,7 +59,13 @@ static int - get_dyn_info_list_addr (unw_addr_space_t as, unw_word_t *dyn_info_list_addr, - void *arg) - { -- *dyn_info_list_addr = (unw_word_t) &_U_dyn_info_list; -+#ifndef UNW_LOCAL_ONLY -+# pragma weak _U_dyn_info_list_addr -+ if (!_U_dyn_info_list_addr) -+ return -UNW_ENOINFO; -+#endif -+ // Access the `_U_dyn_info_list` from `LOCAL_ONLY` library, i.e. libunwind.so. -+ *dyn_info_list_addr = _U_dyn_info_list_addr (); - return 0; - } - |