mirror of
https://github.com/flatcar/scripts.git
synced 2026-05-04 11:51:14 +02:00
sys-libs/libunwind: Sync with Gentoo
It's from Gentoo commit 91f1c92a3dd2a088373e7c3c3978042f4c0b387e.
This commit is contained in:
parent
14a9edcb2a
commit
731da34a0f
@ -1,2 +1,5 @@
|
||||
DIST libunwind-1.5.0.tar.gz 878355 BLAKE2B ee35441289926ac22a58bedb9f831d8e13bacd663a99b3ce25eed229f25f0423bbbd90e09e3d62b003518d7a620aa6d15b0dd5b93632736a89fa0667b35d5fc2 SHA512 1df20ca7a8cee2f2e61294fa9b677e88fec52e9d5a329f88d05c2671c69fa462f6c18808c97ca9ff664ef57292537a844f00b18d142b1938c9da701ca95a4bab
|
||||
DIST libunwind-1.6.0-rc2.tar.gz 900974 BLAKE2B bbf88b6eb0ddf1371a8d69904e7763d2b2892641f88ed985f342962de7b2d19b6201f84422252aa5ca3d6beed7b3af0e2fe1fdb603497dbe68215ebc94942074 SHA512 7b3933c4693595a85182cc11d24527c5ccda3c3af115a3947bdc9877ecb4a77659a2196f559112868b36cd2cdc5623cabef68ad519fd4017c510ee375b97cbe9
|
||||
DIST libunwind-1.6.2-docs.tar.xz 25372 BLAKE2B d16562b29c49070f0cd6ad9211c7c3283b527bd88677d9ce50b15f27254bac504ea79b807e01f4f2bdb05649ff8980f94346ef9737bf5b5bd7c313e547222f10 SHA512 71bcb781cc37ccbef7b349225b1b3b4cd6ba4ce5a48d8478cea17f8245614b672d8e14b5a088e2d998ea717670a371925d4fbe407dde636611f7c2f2901065d8
|
||||
DIST libunwind-1.6.2-loong.patch.xz 122756 BLAKE2B 1d369d18e71c4b9faa79a31a917a0f42a7bb394acd3bf8dc9ef181f2ca55bee04bef070c57ea04853b756efd561cb60409770b1f6fa9095d0e14565eb0bfc621 SHA512 46c8a6022dbf099965cf121d91691aae0a38fb31901730f47f712a7078b323e04f278e6751a7d169ed7e87792f321b15471b253668541598b82edb6626b9518f
|
||||
DIST libunwind-1.6.2.tar.gz 901392 BLAKE2B 3d0313f7e92cbc3e1a84ad3831a5170f21cdf772f1697ca0a59dea63cdd47da382e9f1fd77325d9ff8bcd47559a425dc883a820c646c628cd00faed82cb0f83f SHA512 1d17dfb14f99a894a6cda256caf9ec481c14068aaf8f3a85fa3befa7c7cca7fca0f544a91a3a7c2f2fc55bab19b06a67ca79f55ac9081151d94478c7f611f8f7
|
||||
DIST libunwind-1.7.1-docs.tar.xz 27248 BLAKE2B 0905f49ce72e6cafbb185828a4adf7eb5a88ede335104b1b0679e66199079e3dad9d83815d10a864b4480d88abd82b73bb71181962b1fea39ec41f534d78d549 SHA512 d786572e7fbd5ef7852712f592bd17d4110951083991c5ffcff2bb4ae91e4519b42743f848fe7f2cc9f72d8a0240531ec3d27806972c2c309d06a9048284b97b
|
||||
DIST libunwind-1.7.2.tar.gz 912590 BLAKE2B 519570a02d06ce4a174ca226941e493499054112de1c92938434e9fb56fabc8446f699a886ea8beee672ac5e28acd03d16169257a43e2ee1bab084fb331ef4cf SHA512 903f7e26c7d4c22e6ef4fe8954ca0f153fdf346cec40e1e8f7ab966d251110f4deb0a84d1fd150aee194ed966b5c1e01ee27c821cd043859852da33a94faae1f
|
||||
|
||||
@ -1,16 +0,0 @@
|
||||
https://bugs.gentoo.org/586092
|
||||
|
||||
this might not be correct, but at least it builds, and doesn't crash
|
||||
|
||||
--- a/src/coredump/_UCD_access_reg_linux.c
|
||||
+++ b/src/coredump/_UCD_access_reg_linux.c
|
||||
@@ -51,6 +51,9 @@ _UCD_access_reg (unw_addr_space_t as,
|
||||
#elif defined(UNW_TARGET_TILEGX)
|
||||
if (regnum < 0 || regnum > UNW_TILEGX_CFA)
|
||||
goto badreg;
|
||||
+#elif defined(UNW_TARGET_IA64) || defined(UNW_TARGET_HPPA) || defined(UNW_TARGET_PPC32) || defined(UNW_TARGET_PPC64)
|
||||
+ if (regnum < 0 || regnum >= ARRAY_SIZE(ui->prstatus->pr_reg))
|
||||
+ goto badreg;
|
||||
#else
|
||||
#if defined(UNW_TARGET_MIPS)
|
||||
static const uint8_t remap_regs[] =
|
||||
@ -1,93 +0,0 @@
|
||||
Original libunwind release is missing a few ia64-specific files in tarball.
|
||||
diff --git a/src/ia64/mk_Gcursor_i.c b/src/ia64/mk_Gcursor_i.c
|
||||
new file mode 100644
|
||||
index 0000000..67b14d5
|
||||
--- /dev/null
|
||||
+++ b/src/ia64/mk_Gcursor_i.c
|
||||
@@ -0,0 +1,65 @@
|
||||
+/* libunwind - a platform-independent unwind library
|
||||
+ Copyright (C) 2003 Hewlett-Packard Co
|
||||
+ Contributed by David Mosberger-Tang <davidm@hpl.hp.com>
|
||||
+
|
||||
+This file is part of libunwind.
|
||||
+
|
||||
+Permission is hereby granted, free of charge, to any person obtaining
|
||||
+a copy of this software and associated documentation files (the
|
||||
+"Software"), to deal in the Software without restriction, including
|
||||
+without limitation the rights to use, copy, modify, merge, publish,
|
||||
+distribute, sublicense, and/or sell copies of the Software, and to
|
||||
+permit persons to whom the Software is furnished to do so, subject to
|
||||
+the following conditions:
|
||||
+
|
||||
+The above copyright notice and this permission notice shall be
|
||||
+included in all copies or substantial portions of the Software.
|
||||
+
|
||||
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
||||
+NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
||||
+LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
||||
+OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
||||
+WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
|
||||
+
|
||||
+/* Utility to generate cursor_i.h. */
|
||||
+
|
||||
+#include "libunwind_i.h"
|
||||
+
|
||||
+#ifdef offsetof
|
||||
+# undef offsetof
|
||||
+#endif
|
||||
+
|
||||
+#define offsetof(type,field) ((char *) &((type *) 0)->field - (char *) 0)
|
||||
+
|
||||
+#define OFFSET(sym, offset) \
|
||||
+ asm volatile("\n->" #sym " %0" : : "i" (offset))
|
||||
+
|
||||
+int
|
||||
+main (void)
|
||||
+{
|
||||
+ OFFSET("IP_OFF", offsetof (struct cursor, ip));
|
||||
+ OFFSET("PR_OFF", offsetof (struct cursor, pr));
|
||||
+ OFFSET("BSP_OFF", offsetof (struct cursor, bsp));
|
||||
+ OFFSET("PSP_OFF", offsetof (struct cursor, psp));
|
||||
+ OFFSET("PFS_LOC_OFF", offsetof (struct cursor, loc[IA64_REG_PFS]));
|
||||
+ OFFSET("RNAT_LOC_OFF", offsetof (struct cursor, loc[IA64_REG_RNAT]));
|
||||
+ OFFSET("UNAT_LOC_OFF", offsetof (struct cursor, loc[IA64_REG_UNAT]));
|
||||
+ OFFSET("LC_LOC_OFF", offsetof (struct cursor, loc[IA64_REG_LC]));
|
||||
+ OFFSET("FPSR_LOC_OFF", offsetof (struct cursor, loc[IA64_REG_FPSR]));
|
||||
+ OFFSET("B1_LOC_OFF", offsetof (struct cursor, loc[IA64_REG_B1]));
|
||||
+ OFFSET("B2_LOC_OFF", offsetof (struct cursor, loc[IA64_REG_B2]));
|
||||
+ OFFSET("B3_LOC_OFF", offsetof (struct cursor, loc[IA64_REG_B3]));
|
||||
+ OFFSET("B4_LOC_OFF", offsetof (struct cursor, loc[IA64_REG_B4]));
|
||||
+ OFFSET("B5_LOC_OFF", offsetof (struct cursor, loc[IA64_REG_B5]));
|
||||
+ OFFSET("F2_LOC_OFF", offsetof (struct cursor, loc[IA64_REG_F2]));
|
||||
+ OFFSET("F3_LOC_OFF", offsetof (struct cursor, loc[IA64_REG_F3]));
|
||||
+ OFFSET("F4_LOC_OFF", offsetof (struct cursor, loc[IA64_REG_F4]));
|
||||
+ OFFSET("F5_LOC_OFF", offsetof (struct cursor, loc[IA64_REG_F5]));
|
||||
+ OFFSET("FR_LOC_OFF", offsetof (struct cursor, loc[IA64_REG_F16]));
|
||||
+ OFFSET("LOC_SIZE",
|
||||
+ (offsetof (struct cursor, loc[1]) - offsetof (struct cursor, loc[0])));
|
||||
+ OFFSET("SIGCONTEXT_ADDR_OFF", offsetof (struct cursor, sigcontext_addr));
|
||||
+ return 0;
|
||||
+}
|
||||
diff --git a/src/ia64/mk_Lcursor_i.c b/src/ia64/mk_Lcursor_i.c
|
||||
new file mode 100644
|
||||
index 0000000..aee2e7e
|
||||
--- /dev/null
|
||||
+++ b/src/ia64/mk_Lcursor_i.c
|
||||
@@ -0,0 +1,2 @@
|
||||
+#define UNW_LOCAL_ONLY
|
||||
+#include "mk_Gcursor_i.c"
|
||||
diff --git a/src/ia64/mk_cursor_i b/src/ia64/mk_cursor_i
|
||||
new file mode 100755
|
||||
index 0000000..9211f91
|
||||
--- /dev/null
|
||||
+++ b/src/ia64/mk_cursor_i
|
||||
@@ -0,0 +1,7 @@
|
||||
+#!/bin/sh
|
||||
+test -z "$1" && exit 1
|
||||
+echo "/* GENERATED */"
|
||||
+echo "#ifndef cursor_i_h"
|
||||
+echo "#define cursor_i_h"
|
||||
+sed -ne 's/^->"\(\S*\)" \(\d*\)/#define \1 \2/p' < $1 || exit $?
|
||||
+echo "#endif"
|
||||
@ -1,34 +0,0 @@
|
||||
Fix build failure on ia64.
|
||||
coredump/_UPT_get_dyn_info_list_addr.c
|
||||
is almost identical to
|
||||
ptrace/_UPT_get_dyn_info_list_addr.c
|
||||
It's clearly an __ia64 implementation copy.
|
||||
diff --git a/src/coredump/_UPT_get_dyn_info_list_addr.c b/src/coredump/_UPT_get_dyn_info_list_addr.c
|
||||
index 0d11905..176b146 100644
|
||||
--- a/src/coredump/_UPT_get_dyn_info_list_addr.c
|
||||
+++ b/src/coredump/_UPT_get_dyn_info_list_addr.c
|
||||
@@ -31,2 +31,3 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
|
||||
# include "os-linux.h"
|
||||
+# include "../ptrace/_UPT_internal.h"
|
||||
|
||||
@@ -40,3 +41,2 @@ get_list_addr (unw_addr_space_t as, unw_word_t *dil_addr, void *arg,
|
||||
char path[PATH_MAX];
|
||||
- unw_dyn_info_t *di;
|
||||
unw_word_t res;
|
||||
@@ -50,5 +50,5 @@ get_list_addr (unw_addr_space_t as, unw_word_t *dil_addr, void *arg,
|
||||
|
||||
- invalidate_edi (&ui->edi);
|
||||
+ invalidate_edi(&ui->edi);
|
||||
|
||||
- if (elf_map_image (&ui->ei, path) < 0)
|
||||
+ if (elf_map_image (&ui->edi.ei, path) < 0)
|
||||
/* ignore unmappable stuff like "/SYSV00001b58 (deleted)" */
|
||||
@@ -58,6 +58,5 @@ get_list_addr (unw_addr_space_t as, unw_word_t *dil_addr, void *arg,
|
||||
|
||||
- di = tdep_find_unwind_table (&ui->edi, as, path, lo, off);
|
||||
- if (di)
|
||||
+ if (tdep_find_unwind_table (&ui->edi, as, path, lo, off, 0) > 0)
|
||||
{
|
||||
- res = _Uia64_find_dyn_list (as, di, arg);
|
||||
+ res = _Uia64_find_dyn_list (as, &ui->edi.di_cache, arg);
|
||||
if (res && count++ == 0)
|
||||
@ -1,51 +0,0 @@
|
||||
From 0f3f41a86842f2b19aa07af5242cb775ef9b20d3 Mon Sep 17 00:00:00 2001
|
||||
From: "Jory A. Pratt" <anarchy@gentoo.org>
|
||||
Date: Sat, 30 Jun 2018 22:44:22 -0500
|
||||
Subject: [PATCH] Only include execinfo.h where avaliable
|
||||
|
||||
Signed-off-by: Jory A. Pratt <anarchy@gentoo.org>
|
||||
---
|
||||
tests/test-coredump-unwind.c | 8 ++++++--
|
||||
1 file changed, 6 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/tests/test-coredump-unwind.c b/tests/test-coredump-unwind.c
|
||||
index 5254708..33f92b0 100644
|
||||
--- a/tests/test-coredump-unwind.c
|
||||
+++ b/tests/test-coredump-unwind.c
|
||||
@@ -57,7 +57,9 @@
|
||||
#include <grp.h>
|
||||
|
||||
/* For SIGSEGV handler code */
|
||||
+#if HAVE_EXECINFO_H
|
||||
#include <execinfo.h>
|
||||
+#endif
|
||||
#include <sys/ucontext.h>
|
||||
|
||||
#include <libunwind-coredump.h>
|
||||
@@ -202,7 +204,7 @@ void die_out_of_memory(void)
|
||||
/* End of utility logging functions */
|
||||
|
||||
|
||||
-
|
||||
+#if HAVE_EXECINFO_H
|
||||
static
|
||||
void handle_sigsegv(int sig, siginfo_t *info, void *ucontext)
|
||||
{
|
||||
@@ -249,12 +251,14 @@ void handle_sigsegv(int sig, siginfo_t *info, void *ucontext)
|
||||
|
||||
_exit(1);
|
||||
}
|
||||
-
|
||||
+#endif
|
||||
static void install_sigsegv_handler(void)
|
||||
{
|
||||
struct sigaction sa;
|
||||
memset(&sa, 0, sizeof(sa));
|
||||
+#if HAVE_EXECINFO_H
|
||||
sa.sa_sigaction = handle_sigsegv;
|
||||
+#endif
|
||||
sa.sa_flags = SA_SIGINFO;
|
||||
sigaction(SIGSEGV, &sa, NULL);
|
||||
sigaction(SIGILL, &sa, NULL);
|
||||
--
|
||||
2.18.0
|
||||
@ -1,17 +0,0 @@
|
||||
https://bugs.gentoo.org/614374
|
||||
|
||||
From: kasperk81 <83082615+kasperk81@users.noreply.github.com>
|
||||
Date: Wed, 30 Jun 2021 23:23:22 +0000
|
||||
Subject: [PATCH] Fix -mx32 compilation error
|
||||
|
||||
--- a/src/x86_64/Gos-linux.c
|
||||
+++ b/src/x86_64/Gos-linux.c
|
||||
@@ -149,7 +149,7 @@ x86_64_sigreturn (unw_cursor_t *cursor)
|
||||
__asm__ __volatile__ ("mov %0, %%rsp;"
|
||||
"mov %1, %%rax;"
|
||||
"syscall"
|
||||
- :: "r"(sc), "i"(SYS_rt_sigreturn)
|
||||
+ :: "r"((uint64_t)sc), "i"(SYS_rt_sigreturn)
|
||||
: "memory");
|
||||
abort();
|
||||
}
|
||||
@ -1,108 +0,0 @@
|
||||
# Copyright 2005-2021 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
MY_PV=${PV/_/-}
|
||||
MY_P=${PN}-${MY_PV}
|
||||
inherit autotools flag-o-matic libtool multilib-minimal
|
||||
|
||||
DESCRIPTION="Portable and efficient API to determine the call-chain of a program"
|
||||
HOMEPAGE="https://savannah.nongnu.org/projects/libunwind"
|
||||
SRC_URI="mirror://nongnu/libunwind/${MY_P}.tar.gz"
|
||||
|
||||
LICENSE="MIT"
|
||||
SLOT="0/8" # libunwind.so.8
|
||||
KEYWORDS="amd64 arm arm64 hppa ~ia64 ~mips ppc ppc64 -riscv -sparc x86 ~amd64-linux ~x86-linux"
|
||||
IUSE="debug debug-frame doc libatomic lzma static-libs zlib"
|
||||
|
||||
RESTRICT="test" # some tests are broken (toolchain version dependent, rely on external binaries)
|
||||
|
||||
# We just use the header from libatomic.
|
||||
RDEPEND="
|
||||
lzma? ( app-arch/xz-utils[static-libs?,${MULTILIB_USEDEP}] )
|
||||
zlib? ( sys-libs/zlib[static-libs?,${MULTILIB_USEDEP}] )
|
||||
"
|
||||
DEPEND="${RDEPEND}
|
||||
libatomic? ( dev-libs/libatomic_ops[${MULTILIB_USEDEP}] )"
|
||||
|
||||
S="${WORKDIR}/${MY_P}"
|
||||
|
||||
MULTILIB_WRAPPED_HEADERS=(
|
||||
/usr/include/libunwind.h
|
||||
|
||||
# see libunwind.h for the full list of arch-specific headers
|
||||
/usr/include/libunwind-aarch64.h
|
||||
/usr/include/libunwind-arm.h
|
||||
/usr/include/libunwind-hppa.h
|
||||
/usr/include/libunwind-ia64.h
|
||||
/usr/include/libunwind-mips.h
|
||||
/usr/include/libunwind-ppc32.h
|
||||
/usr/include/libunwind-ppc64.h
|
||||
/usr/include/libunwind-sh.h
|
||||
/usr/include/libunwind-tilegx.h
|
||||
/usr/include/libunwind-x86.h
|
||||
/usr/include/libunwind-x86_64.h
|
||||
)
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}"/${PN}-1.2-coredump-regs.patch #586092
|
||||
"${FILESDIR}"/${PN}-1.2-ia64-ptrace-coredump.patch
|
||||
"${FILESDIR}"/${PN}-1.2-ia64-missing.patch
|
||||
"${FILESDIR}"/${PN}-1.5.0-x32.patch
|
||||
# needs refresh:
|
||||
#"${FILESDIR}"/${PN}-1.2.1-only-include-execinfo_h-if-avaliable.patch
|
||||
)
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
chmod +x src/ia64/mk_cursor_i || die
|
||||
# Since we have tests disabled via RESTRICT, disable building in the subdir
|
||||
# entirely. This works around some build errors too. #484846
|
||||
sed -i -e '/^SUBDIRS/s:tests::' Makefile.in || die
|
||||
|
||||
elibtoolize
|
||||
eautoreconf
|
||||
|
||||
# Let's wait for proper fix upstream in https://github.com/libunwind/libunwind/issues/154
|
||||
# Meanwhile workaround for gcc-10 with -fcommon, bug #706560
|
||||
append-cflags -fcommon
|
||||
}
|
||||
|
||||
multilib_src_configure() {
|
||||
# --enable-cxx-exceptions: always enable it, headers provide the interface
|
||||
# and on some archs it is disabled by default causing a mismatch between the
|
||||
# API and the ABI, bug #418253
|
||||
# conservative-checks: validate memory addresses before use; as of 1.0.1,
|
||||
# only x86_64 supports this, yet may be useful for debugging, couple it with
|
||||
# debug useflag.
|
||||
ECONF_SOURCE="${S}" \
|
||||
ac_cv_header_atomic_ops_h=$(usex libatomic) \
|
||||
econf \
|
||||
--enable-cxx-exceptions \
|
||||
--enable-coredump \
|
||||
--enable-ptrace \
|
||||
--enable-setjmp \
|
||||
$(use_enable debug-frame) \
|
||||
$(use_enable doc documentation) \
|
||||
$(use_enable lzma minidebuginfo) \
|
||||
$(use_enable static-libs static) \
|
||||
$(use_enable zlib zlibdebuginfo) \
|
||||
$(use_enable debug conservative_checks) \
|
||||
$(use_enable debug)
|
||||
}
|
||||
|
||||
multilib_src_compile() {
|
||||
# Bug 586208
|
||||
CCACHE_NODIRECT=1 default
|
||||
}
|
||||
|
||||
multilib_src_test() {
|
||||
# Explicitly allow parallel build of tests.
|
||||
# Sandbox causes some tests to freak out.
|
||||
SANDBOX_ON=0 emake check
|
||||
}
|
||||
|
||||
multilib_src_install_all() {
|
||||
find "${D}" -name "*.la" -type f -delete || die
|
||||
}
|
||||
@ -1,102 +0,0 @@
|
||||
# Copyright 2005-2021 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
MY_PV=${PV/_/-}
|
||||
MY_P=${PN}-${MY_PV}
|
||||
inherit autotools flag-o-matic libtool multilib-minimal
|
||||
|
||||
DESCRIPTION="Portable and efficient API to determine the call-chain of a program"
|
||||
HOMEPAGE="https://savannah.nongnu.org/projects/libunwind"
|
||||
SRC_URI="mirror://nongnu/libunwind/${MY_P}.tar.gz"
|
||||
|
||||
LICENSE="MIT"
|
||||
SLOT="0/8" # libunwind.so.8
|
||||
#KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~riscv -sparc ~x86 ~amd64-linux ~x86-linux"
|
||||
KEYWORDS="~riscv"
|
||||
IUSE="debug debug-frame doc libatomic lzma static-libs zlib"
|
||||
|
||||
RESTRICT="test" # some tests are broken (toolchain version dependent, rely on external binaries)
|
||||
|
||||
# We just use the header from libatomic.
|
||||
RDEPEND="
|
||||
lzma? ( app-arch/xz-utils[static-libs?,${MULTILIB_USEDEP}] )
|
||||
zlib? ( sys-libs/zlib[static-libs?,${MULTILIB_USEDEP}] )
|
||||
"
|
||||
DEPEND="${RDEPEND}
|
||||
libatomic? ( dev-libs/libatomic_ops[${MULTILIB_USEDEP}] )"
|
||||
|
||||
S="${WORKDIR}/${MY_P}"
|
||||
|
||||
MULTILIB_WRAPPED_HEADERS=(
|
||||
/usr/include/libunwind.h
|
||||
|
||||
# see libunwind.h for the full list of arch-specific headers
|
||||
/usr/include/libunwind-aarch64.h
|
||||
/usr/include/libunwind-arm.h
|
||||
/usr/include/libunwind-hppa.h
|
||||
/usr/include/libunwind-ia64.h
|
||||
/usr/include/libunwind-mips.h
|
||||
/usr/include/libunwind-ppc32.h
|
||||
/usr/include/libunwind-ppc64.h
|
||||
/usr/include/libunwind-riscv.h
|
||||
/usr/include/libunwind-sh.h
|
||||
/usr/include/libunwind-tilegx.h
|
||||
/usr/include/libunwind-x86.h
|
||||
/usr/include/libunwind-x86_64.h
|
||||
)
|
||||
|
||||
PATCHES=(
|
||||
# needs refresh:
|
||||
#"${FILESDIR}"/${PN}-1.2.1-only-include-execinfo_h-if-avaliable.patch
|
||||
)
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
chmod +x src/ia64/mk_cursor_i || die
|
||||
# Since we have tests disabled via RESTRICT, disable building in the subdir
|
||||
# entirely. This works around some build errors too. #484846
|
||||
sed -i -e '/^SUBDIRS/s:tests::' Makefile.in || die
|
||||
|
||||
elibtoolize
|
||||
eautoreconf
|
||||
}
|
||||
|
||||
multilib_src_configure() {
|
||||
# --enable-cxx-exceptions: always enable it, headers provide the interface
|
||||
# and on some archs it is disabled by default causing a mismatch between the
|
||||
# API and the ABI, bug #418253
|
||||
# conservative-checks: validate memory addresses before use; as of 1.0.1,
|
||||
# only x86_64 supports this, yet may be useful for debugging, couple it with
|
||||
# debug useflag.
|
||||
ECONF_SOURCE="${S}" \
|
||||
ac_cv_header_atomic_ops_h=$(usex libatomic) \
|
||||
econf \
|
||||
--enable-cxx-exceptions \
|
||||
--enable-coredump \
|
||||
--enable-ptrace \
|
||||
--enable-setjmp \
|
||||
$(use_enable debug-frame) \
|
||||
$(use_enable doc documentation) \
|
||||
$(use_enable lzma minidebuginfo) \
|
||||
$(use_enable static-libs static) \
|
||||
$(use_enable zlib zlibdebuginfo) \
|
||||
$(use_enable debug conservative_checks) \
|
||||
$(use_enable debug)
|
||||
}
|
||||
|
||||
multilib_src_compile() {
|
||||
# Bug 586208
|
||||
CCACHE_NODIRECT=1 default
|
||||
}
|
||||
|
||||
multilib_src_test() {
|
||||
# Explicitly allow parallel build of tests.
|
||||
# Sandbox causes some tests to freak out.
|
||||
SANDBOX_ON=0 emake check
|
||||
}
|
||||
|
||||
multilib_src_install_all() {
|
||||
find "${D}" -name "*.la" -type f -delete || die
|
||||
}
|
||||
122
sdk_container/src/third_party/portage-stable/sys-libs/libunwind/libunwind-1.6.2-r1.ebuild
vendored
Normal file
122
sdk_container/src/third_party/portage-stable/sys-libs/libunwind/libunwind-1.6.2-r1.ebuild
vendored
Normal file
@ -0,0 +1,122 @@
|
||||
# Copyright 2005-2023 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
# Generate using https://github.com/thesamesam/sam-gentoo-scripts/blob/main/niche/generate-libunwind-docs
|
||||
# Set to 1 if prebuilt, 0 if not
|
||||
# (the construct below is to allow overriding from env for script)
|
||||
: ${LIBUNWIND_DOCS_PREBUILT:=1}
|
||||
|
||||
LIBUNWIND_DOCS_PREBUILT_DEV=sam
|
||||
LIBUNWIND_DOCS_VERSION=$(ver_cut 1-3)
|
||||
# Default to generating docs (inc. man pages) if no prebuilt; overridden later
|
||||
LIBUNWIND_DOCS_USEFLAG="+doc"
|
||||
|
||||
[[ ${LIBUNWIND_DOCS_PREBUILT} == 1 ]] && LIBUNWIND_DOCS_USEFLAG="doc"
|
||||
|
||||
MY_PV=${PV/_/-}
|
||||
MY_P=${PN}-${MY_PV}
|
||||
inherit multilib-minimal
|
||||
|
||||
DESCRIPTION="Portable and efficient API to determine the call-chain of a program"
|
||||
HOMEPAGE="https://savannah.nongnu.org/projects/libunwind"
|
||||
SRC_URI="mirror://nongnu/libunwind/${MY_P}.tar.gz
|
||||
loong? ( https://dev.gentoo.org/~xen0n/distfiles/${CATEGORY}/${PN}/${P}-loong.patch.xz )"
|
||||
if [[ ${LIBUNWIND_DOCS_PREBUILT} == 1 ]] ; then
|
||||
SRC_URI+=" !doc? ( https://dev.gentoo.org/~${LIBUNWIND_DOCS_PREBUILT_DEV}/distfiles/${CATEGORY}/${PN}/${PN}-${LIBUNWIND_DOCS_VERSION}-docs.tar.xz )"
|
||||
fi
|
||||
|
||||
S="${WORKDIR}/${MY_P}"
|
||||
|
||||
LICENSE="MIT"
|
||||
SLOT="0/8" # libunwind.so.8
|
||||
KEYWORDS="amd64 arm arm64 hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 -sparc x86 ~amd64-linux ~x86-linux"
|
||||
IUSE="debug debug-frame ${LIBUNWIND_DOCS_USEFLAG} libatomic lzma static-libs test zlib"
|
||||
|
||||
RESTRICT="test !test? ( test )" # some tests are broken (toolchain version dependent, rely on external binaries)
|
||||
|
||||
BDEPEND="
|
||||
doc? ( app-text/texlive-core )
|
||||
"
|
||||
RDEPEND="
|
||||
lzma? ( app-arch/xz-utils[static-libs?,${MULTILIB_USEDEP}] )
|
||||
zlib? ( sys-libs/zlib[static-libs?,${MULTILIB_USEDEP}] )
|
||||
"
|
||||
# We just use the header from libatomic.
|
||||
DEPEND="${RDEPEND}
|
||||
libatomic? ( dev-libs/libatomic_ops[${MULTILIB_USEDEP}] )"
|
||||
|
||||
MULTILIB_WRAPPED_HEADERS=(
|
||||
/usr/include/libunwind.h
|
||||
|
||||
# see libunwind.h for the full list of arch-specific headers
|
||||
/usr/include/libunwind-aarch64.h
|
||||
/usr/include/libunwind-arm.h
|
||||
/usr/include/libunwind-hppa.h
|
||||
/usr/include/libunwind-ia64.h
|
||||
/usr/include/libunwind-mips.h
|
||||
/usr/include/libunwind-ppc32.h
|
||||
/usr/include/libunwind-ppc64.h
|
||||
/usr/include/libunwind-riscv.h
|
||||
/usr/include/libunwind-sh.h
|
||||
/usr/include/libunwind-tilegx.h
|
||||
/usr/include/libunwind-x86.h
|
||||
/usr/include/libunwind-x86_64.h
|
||||
)
|
||||
|
||||
src_prepare() {
|
||||
local PATCHES=()
|
||||
use loong && PATCHES+=( "${WORKDIR}/${P}-loong.patch" )
|
||||
|
||||
default
|
||||
|
||||
chmod +x src/ia64/mk_cursor_i || die
|
||||
}
|
||||
|
||||
multilib_src_configure() {
|
||||
local myeconfargs=(
|
||||
# --enable-cxx-exceptions: always enable it, headers provide the interface
|
||||
# and on some archs it is disabled by default causing a mismatch between the
|
||||
# API and the ABI, bug #418253
|
||||
--enable-cxx-exceptions
|
||||
--enable-coredump
|
||||
--enable-ptrace
|
||||
--enable-setjmp
|
||||
$(use_enable debug-frame)
|
||||
$(multilib_native_use_enable doc documentation)
|
||||
$(use_enable lzma minidebuginfo)
|
||||
$(use_enable static-libs static)
|
||||
$(use_enable zlib zlibdebuginfo)
|
||||
# conservative-checks: validate memory addresses before use; as of 1.0.1,
|
||||
# only x86_64 supports this, yet may be useful for debugging, couple it with
|
||||
# debug useflag.
|
||||
$(use_enable debug conservative_checks)
|
||||
$(use_enable debug)
|
||||
$(use_enable test tests)
|
||||
)
|
||||
|
||||
export ac_cv_header_atomic_ops_h=$(usex libatomic)
|
||||
|
||||
ECONF_SOURCE="${S}" econf "${myeconfargs[@]}"
|
||||
}
|
||||
|
||||
multilib_src_compile() {
|
||||
# bug #586208
|
||||
CCACHE_NODIRECT=1 default
|
||||
}
|
||||
|
||||
multilib_src_test() {
|
||||
# Explicitly allow parallel build of tests.
|
||||
# Sandbox causes some tests to freak out.
|
||||
SANDBOX_ON=0 emake check
|
||||
}
|
||||
|
||||
multilib_src_install_all() {
|
||||
find "${ED}" -name "*.la" -type f -delete || die
|
||||
|
||||
# If USE=doc, there'll be newly generated docs which we install instead.
|
||||
if ! use doc && [[ ${LIBUNWIND_DOCS_PREBUILT} == 1 ]] ; then
|
||||
doman "${WORKDIR}"/${PN}-${LIBUNWIND_DOCS_VERSION}-docs/man*/*.[0-8]
|
||||
fi
|
||||
}
|
||||
129
sdk_container/src/third_party/portage-stable/sys-libs/libunwind/libunwind-1.7.2.ebuild
vendored
Normal file
129
sdk_container/src/third_party/portage-stable/sys-libs/libunwind/libunwind-1.7.2.ebuild
vendored
Normal file
@ -0,0 +1,129 @@
|
||||
# Copyright 2005-2023 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
# Generate using https://github.com/thesamesam/sam-gentoo-scripts/blob/main/niche/generate-libunwind-docs
|
||||
# Set to 1 if prebuilt, 0 if not
|
||||
# (the construct below is to allow overriding from env for script)
|
||||
: ${LIBUNWIND_DOCS_PREBUILT:=1}
|
||||
|
||||
LIBUNWIND_DOCS_PREBUILT_DEV=sam
|
||||
LIBUNWIND_DOCS_VERSION=1.7.1
|
||||
# Default to generating docs (inc. man pages) if no prebuilt; overridden later
|
||||
LIBUNWIND_DOCS_USEFLAG="+doc"
|
||||
|
||||
inherit multilib-minimal
|
||||
|
||||
DESCRIPTION="Portable and efficient API to determine the call-chain of a program"
|
||||
HOMEPAGE="https://savannah.nongnu.org/projects/libunwind"
|
||||
|
||||
if [[ ${PV} == 9999 ]] ; then
|
||||
LIBUNWIND_DOCS_PREBUILT=0
|
||||
|
||||
EGIT_REPO_URI="https://github.com/libunwind/libunwind"
|
||||
inherit autotools git-r3
|
||||
else
|
||||
SRC_URI="https://github.com/libunwind/libunwind/releases/download/v${PV}/${P}.tar.gz"
|
||||
if [[ ${LIBUNWIND_DOCS_PREBUILT} == 1 ]] ; then
|
||||
SRC_URI+=" !doc? ( https://dev.gentoo.org/~${LIBUNWIND_DOCS_PREBUILT_DEV}/distfiles/${CATEGORY}/${PN}/${PN}-${LIBUNWIND_DOCS_VERSION}-docs.tar.xz )"
|
||||
fi
|
||||
|
||||
KEYWORDS="amd64 arm arm64 hppa ~ia64 ~loong ~mips ~ppc ppc64 ~riscv ~s390 -sparc x86 ~amd64-linux ~x86-linux"
|
||||
fi
|
||||
|
||||
[[ ${LIBUNWIND_DOCS_PREBUILT} == 1 ]] && LIBUNWIND_DOCS_USEFLAG="doc"
|
||||
|
||||
LICENSE="MIT"
|
||||
SLOT="0/8" # libunwind.so.8
|
||||
IUSE="debug debug-frame ${LIBUNWIND_DOCS_USEFLAG} libatomic lzma static-libs test zlib"
|
||||
|
||||
RESTRICT="test !test? ( test )" # some tests are broken (toolchain version dependent, rely on external binaries)
|
||||
|
||||
BDEPEND="
|
||||
doc? ( app-text/texlive-core )
|
||||
"
|
||||
RDEPEND="
|
||||
lzma? ( app-arch/xz-utils[static-libs?,${MULTILIB_USEDEP}] )
|
||||
zlib? ( sys-libs/zlib[static-libs?,${MULTILIB_USEDEP}] )
|
||||
"
|
||||
# We just use the header from libatomic.
|
||||
DEPEND="
|
||||
${RDEPEND}
|
||||
libatomic? ( dev-libs/libatomic_ops[${MULTILIB_USEDEP}] )
|
||||
"
|
||||
|
||||
MULTILIB_WRAPPED_HEADERS=(
|
||||
/usr/include/libunwind.h
|
||||
|
||||
# see libunwind.h for the full list of arch-specific headers
|
||||
/usr/include/libunwind-aarch64.h
|
||||
/usr/include/libunwind-arm.h
|
||||
/usr/include/libunwind-hppa.h
|
||||
/usr/include/libunwind-ia64.h
|
||||
/usr/include/libunwind-mips.h
|
||||
/usr/include/libunwind-ppc32.h
|
||||
/usr/include/libunwind-ppc64.h
|
||||
/usr/include/libunwind-riscv.h
|
||||
/usr/include/libunwind-sh.h
|
||||
/usr/include/libunwind-tilegx.h
|
||||
/usr/include/libunwind-x86.h
|
||||
/usr/include/libunwind-x86_64.h
|
||||
)
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
|
||||
chmod +x src/ia64/mk_cursor_i || die
|
||||
|
||||
if [[ ${PV} == 9999 ]] ; then
|
||||
eautoreconf
|
||||
fi
|
||||
}
|
||||
|
||||
multilib_src_configure() {
|
||||
local myeconfargs=(
|
||||
# --enable-cxx-exceptions: always enable it, headers provide the interface
|
||||
# and on some archs it is disabled by default causing a mismatch between the
|
||||
# API and the ABI, bug #418253
|
||||
--enable-cxx-exceptions
|
||||
--enable-coredump
|
||||
--enable-ptrace
|
||||
--enable-setjmp
|
||||
$(use_enable debug-frame)
|
||||
$(multilib_native_use_enable doc documentation)
|
||||
$(use_enable lzma minidebuginfo)
|
||||
$(use_enable static-libs static)
|
||||
$(use_enable zlib zlibdebuginfo)
|
||||
# conservative-checks: validate memory addresses before use; as of 1.0.1,
|
||||
# only x86_64 supports this, yet may be useful for debugging, couple it with
|
||||
# debug useflag.
|
||||
$(use_enable debug conservative_checks)
|
||||
$(use_enable debug)
|
||||
$(use_enable test tests)
|
||||
)
|
||||
|
||||
export ac_cv_header_atomic_ops_h=$(usex libatomic)
|
||||
|
||||
ECONF_SOURCE="${S}" econf "${myeconfargs[@]}"
|
||||
}
|
||||
|
||||
multilib_src_compile() {
|
||||
# bug #586208
|
||||
CCACHE_NODIRECT=1 default
|
||||
}
|
||||
|
||||
multilib_src_test() {
|
||||
# Explicitly allow parallel build of tests.
|
||||
# Sandbox causes some tests to freak out.
|
||||
SANDBOX_ON=0 emake check
|
||||
}
|
||||
|
||||
multilib_src_install_all() {
|
||||
find "${ED}" -name "*.la" -type f -delete || die
|
||||
|
||||
# If USE=doc, there'll be newly generated docs which we install instead.
|
||||
if ! use doc && [[ ${LIBUNWIND_DOCS_PREBUILT} == 1 ]] ; then
|
||||
doman "${WORKDIR}"/${PN}-${LIBUNWIND_DOCS_VERSION}-docs/man*/*.[0-8]
|
||||
fi
|
||||
}
|
||||
129
sdk_container/src/third_party/portage-stable/sys-libs/libunwind/libunwind-9999.ebuild
vendored
Normal file
129
sdk_container/src/third_party/portage-stable/sys-libs/libunwind/libunwind-9999.ebuild
vendored
Normal file
@ -0,0 +1,129 @@
|
||||
# Copyright 2005-2023 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
# Generate using https://github.com/thesamesam/sam-gentoo-scripts/blob/main/niche/generate-libunwind-docs
|
||||
# Set to 1 if prebuilt, 0 if not
|
||||
# (the construct below is to allow overriding from env for script)
|
||||
: ${LIBUNWIND_DOCS_PREBUILT:=1}
|
||||
|
||||
LIBUNWIND_DOCS_PREBUILT_DEV=sam
|
||||
LIBUNWIND_DOCS_VERSION=1.7.1
|
||||
# Default to generating docs (inc. man pages) if no prebuilt; overridden later
|
||||
LIBUNWIND_DOCS_USEFLAG="+doc"
|
||||
|
||||
inherit multilib-minimal
|
||||
|
||||
DESCRIPTION="Portable and efficient API to determine the call-chain of a program"
|
||||
HOMEPAGE="https://savannah.nongnu.org/projects/libunwind"
|
||||
|
||||
if [[ ${PV} == 9999 ]] ; then
|
||||
LIBUNWIND_DOCS_PREBUILT=0
|
||||
|
||||
EGIT_REPO_URI="https://github.com/libunwind/libunwind"
|
||||
inherit autotools git-r3
|
||||
else
|
||||
SRC_URI="https://github.com/libunwind/libunwind/releases/download/v${PV}/${P}.tar.gz"
|
||||
if [[ ${LIBUNWIND_DOCS_PREBUILT} == 1 ]] ; then
|
||||
SRC_URI+=" !doc? ( https://dev.gentoo.org/~${LIBUNWIND_DOCS_PREBUILT_DEV}/distfiles/${CATEGORY}/${PN}/${PN}-${LIBUNWIND_DOCS_VERSION}-docs.tar.xz )"
|
||||
fi
|
||||
|
||||
KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 -sparc ~x86 ~amd64-linux ~x86-linux"
|
||||
fi
|
||||
|
||||
[[ ${LIBUNWIND_DOCS_PREBUILT} == 1 ]] && LIBUNWIND_DOCS_USEFLAG="doc"
|
||||
|
||||
LICENSE="MIT"
|
||||
SLOT="0/8" # libunwind.so.8
|
||||
IUSE="debug debug-frame ${LIBUNWIND_DOCS_USEFLAG} libatomic lzma static-libs test zlib"
|
||||
|
||||
RESTRICT="test !test? ( test )" # some tests are broken (toolchain version dependent, rely on external binaries)
|
||||
|
||||
BDEPEND="
|
||||
doc? ( app-text/texlive-core )
|
||||
"
|
||||
RDEPEND="
|
||||
lzma? ( app-arch/xz-utils[static-libs?,${MULTILIB_USEDEP}] )
|
||||
zlib? ( sys-libs/zlib[static-libs?,${MULTILIB_USEDEP}] )
|
||||
"
|
||||
# We just use the header from libatomic.
|
||||
DEPEND="
|
||||
${RDEPEND}
|
||||
libatomic? ( dev-libs/libatomic_ops[${MULTILIB_USEDEP}] )
|
||||
"
|
||||
|
||||
MULTILIB_WRAPPED_HEADERS=(
|
||||
/usr/include/libunwind.h
|
||||
|
||||
# see libunwind.h for the full list of arch-specific headers
|
||||
/usr/include/libunwind-aarch64.h
|
||||
/usr/include/libunwind-arm.h
|
||||
/usr/include/libunwind-hppa.h
|
||||
/usr/include/libunwind-ia64.h
|
||||
/usr/include/libunwind-mips.h
|
||||
/usr/include/libunwind-ppc32.h
|
||||
/usr/include/libunwind-ppc64.h
|
||||
/usr/include/libunwind-riscv.h
|
||||
/usr/include/libunwind-sh.h
|
||||
/usr/include/libunwind-tilegx.h
|
||||
/usr/include/libunwind-x86.h
|
||||
/usr/include/libunwind-x86_64.h
|
||||
)
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
|
||||
chmod +x src/ia64/mk_cursor_i || die
|
||||
|
||||
if [[ ${PV} == 9999 ]] ; then
|
||||
eautoreconf
|
||||
fi
|
||||
}
|
||||
|
||||
multilib_src_configure() {
|
||||
local myeconfargs=(
|
||||
# --enable-cxx-exceptions: always enable it, headers provide the interface
|
||||
# and on some archs it is disabled by default causing a mismatch between the
|
||||
# API and the ABI, bug #418253
|
||||
--enable-cxx-exceptions
|
||||
--enable-coredump
|
||||
--enable-ptrace
|
||||
--enable-setjmp
|
||||
$(use_enable debug-frame)
|
||||
$(multilib_native_use_enable doc documentation)
|
||||
$(use_enable lzma minidebuginfo)
|
||||
$(use_enable static-libs static)
|
||||
$(use_enable zlib zlibdebuginfo)
|
||||
# conservative-checks: validate memory addresses before use; as of 1.0.1,
|
||||
# only x86_64 supports this, yet may be useful for debugging, couple it with
|
||||
# debug useflag.
|
||||
$(use_enable debug conservative_checks)
|
||||
$(use_enable debug)
|
||||
$(use_enable test tests)
|
||||
)
|
||||
|
||||
export ac_cv_header_atomic_ops_h=$(usex libatomic)
|
||||
|
||||
ECONF_SOURCE="${S}" econf "${myeconfargs[@]}"
|
||||
}
|
||||
|
||||
multilib_src_compile() {
|
||||
# bug #586208
|
||||
CCACHE_NODIRECT=1 default
|
||||
}
|
||||
|
||||
multilib_src_test() {
|
||||
# Explicitly allow parallel build of tests.
|
||||
# Sandbox causes some tests to freak out.
|
||||
SANDBOX_ON=0 emake check
|
||||
}
|
||||
|
||||
multilib_src_install_all() {
|
||||
find "${ED}" -name "*.la" -type f -delete || die
|
||||
|
||||
# If USE=doc, there'll be newly generated docs which we install instead.
|
||||
if ! use doc && [[ ${LIBUNWIND_DOCS_PREBUILT} == 1 ]] ; then
|
||||
doman "${WORKDIR}"/${PN}-${LIBUNWIND_DOCS_VERSION}-docs/man*/*.[0-8]
|
||||
fi
|
||||
}
|
||||
@ -10,6 +10,7 @@
|
||||
<flag name="libatomic">Use libatomic instead of builtin atomic operations</flag>
|
||||
</use>
|
||||
<upstream>
|
||||
<remote-id type="savannah-nongnu">libunwind</remote-id>
|
||||
<remote-id type="github">libunwind/libunwind</remote-id>
|
||||
</upstream>
|
||||
</pkgmetadata>
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user