commit: 2ed352816f681bb4dbade5974b9f613dd0801cff Author: Jory Pratt <anarchy <AT> gentoo <DOT> org> AuthorDate: Sat Sep 4 15:28:35 2021 +0000 Commit: Jory Pratt <anarchy <AT> gentoo <DOT> org> CommitDate: Sat Sep 4 15:28:35 2021 +0000 URL: https://gitweb.gentoo.org/proj/musl.git/commit/?id=2ed35281
dev-libs/elfutils: Version bump, misc fixups Package-Manager: Portage-3.0.20, Repoman-3.0.3 Signed-off-by: Jory Pratt <anarchy <AT> gentoo.org> dev-libs/elfutils/Manifest | 1 + dev-libs/elfutils/elfutils-0.185.ebuild | 96 ++++++++++++++++++++++ dev-libs/elfutils/files/0.185/musl-cdefs.patch | 29 +++++++ .../0.185/musl-fix-uninitialized-mnebuf.patch | 24 ++++++ .../files/elfutils-0.185-static-inline.patch | 12 +++ 5 files changed, 162 insertions(+) diff --git a/dev-libs/elfutils/Manifest b/dev-libs/elfutils/Manifest index f8c5896..6132314 100644 --- a/dev-libs/elfutils/Manifest +++ b/dev-libs/elfutils/Manifest @@ -1 +1,2 @@ DIST elfutils-0.180.tar.bz2 9079640 BLAKE2B bd7863b82a71d2932a23c9d125d5eb6485977a3256a8a0b25980183d33f7345c3d9fae78277de5c955eb0ceeb955f8fa71d209f4f39bcf6dd49e46a8bbd7efcf SHA512 62e96035ccfe8928baca2285decbe8b8703a2daa956df81ece18fecf643272fb68955806b3e807a514141a7a9bf44520bf09461672aa580bd6807485fb604d25 +DIST elfutils-0.185.tar.bz2 9187627 BLAKE2B 57cfa7e4060975c4bf6170dbd354687a19a92f7069c060db1ac2fa4da5a9d34e8bddd07c7ce376b5c28b5670ad5b8c1df795164cbcfb600a44cf1db60c20c4af SHA512 34de0de1355b11740e036e0fc64f2fc063587c8eb121b19216ee5548d3f0f268d8fc3995176c47190466b9d881007cfa11a9d01e9a50e38af6119492bf8bb47f diff --git a/dev-libs/elfutils/elfutils-0.185.ebuild b/dev-libs/elfutils/elfutils-0.185.ebuild new file mode 100644 index 0000000..5eea0cc --- /dev/null +++ b/dev-libs/elfutils/elfutils-0.185.ebuild @@ -0,0 +1,96 @@ +# Copyright 2003-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit flag-o-matic multilib-minimal + +DESCRIPTION="Libraries/utilities to handle ELF objects (drop in replacement for libelf)" +HOMEPAGE="http://elfutils.org/" +SRC_URI="https://sourceware.org/elfutils/ftp/${PV}/${P}.tar.bz2" + +LICENSE="|| ( GPL-2+ LGPL-3+ ) utils? ( GPL-3+ )" +SLOT="0" +KEYWORDS="amd64 arm arm64 ~mips ppc ppc64 x86" +IUSE="bzip2 lzma nls static-libs test +threads +utils valgrind zstd" + +RDEPEND=">=sys-libs/zlib-1.2.8-r1[static-libs?,${MULTILIB_USEDEP}] + bzip2? ( >=app-arch/bzip2-1.0.6-r4[static-libs?,${MULTILIB_USEDEP}] ) + lzma? ( >=app-arch/xz-utils-5.0.5-r1[static-libs?,${MULTILIB_USEDEP}] ) + zstd? ( app-arch/zstd:=[static-libs?,${MULTILIB_USEDEP}] ) + !dev-libs/libelf +" +DEPEND="${RDEPEND} + valgrind? ( dev-util/valgrind ) +" +BDEPEND="nls? ( sys-devel/gettext ) + >=sys-devel/flex-2.5.4a + sys-devel/m4 +" +RESTRICT="!test? ( test )" + +PATCHES=( + "${FILESDIR}"/${PN}-0.175-disable-biarch-test-PR24158.patch + "${FILESDIR}"/${PN}-0.177-disable-large.patch + "${FILESDIR}"/${PN}-0.180-PaX-support.patch + "${FILESDIR}"/${PN}-0.185-static-inline.patch + + # Musl support patches + "${FILESDIR}"/0.178/fix-aarch64_fregs.patch + "${FILESDIR}"/0.178/musl-asm_ptrace_h.patch + "${FILESDIR}"/0.185/musl-cdefs.patch + "${FILESDIR}"/0.178/musl-macros.patch + "${FILESDIR}"/0.178/musl-strndupa.patch + "${FILESDIR}"/0.178/musl-error_h.patch + "${FILESDIR}"/0.185/musl-fix-uninitialized-mnebuf.patch +) + +src_prepare() { + default + + if ! use static-libs; then + sed -i -e '/^lib_LIBRARIES/s:=.*:=:' -e '/^%.os/s:%.o$::' lib{asm,dw,elf}/Makefile.in || die + fi + # https://sourceware.org/PR23914 + sed -i 's:-Werror::' */Makefile.in || die +} + +src_configure() { + use test && append-flags -g #407135 + + # Symbol aliases are implemented as asm statements. + # Will require porting: https://gcc.gnu.org/PR48200 + filter-flags '-flto*' + + multilib-minimal_src_configure +} + +multilib_src_configure() { + ECONF_SOURCE="${S}" econf \ + $(use_enable nls) \ + $(use_enable threads thread-safety) \ + $(use_enable valgrind) \ + --disable-debuginfod \ + --disable-libdebuginfod \ + --program-prefix="eu-" \ + --with-zlib \ + $(use_with bzip2 bzlib) \ + $(use_with lzma) \ + $(use_with zstd) +} + +multilib_src_test() { + env LD_LIBRARY_PATH="${BUILD_DIR}/libelf:${BUILD_DIR}/libebl:${BUILD_DIR}/libdw:${BUILD_DIR}/libasm" \ + LC_ALL="C" \ + emake check VERBOSE=1 +} + +multilib_src_install_all() { + einstalldocs + dodoc NOTES + # These build quick, and are needed for most tests, so don't + # disable their building when the USE flag is disabled. + if ! use utils; then + rm -rf "${ED}"/usr/bin || die + fi +} diff --git a/dev-libs/elfutils/files/0.185/musl-cdefs.patch b/dev-libs/elfutils/files/0.185/musl-cdefs.patch new file mode 100644 index 0000000..c102f04 --- /dev/null +++ b/dev-libs/elfutils/files/0.185/musl-cdefs.patch @@ -0,0 +1,29 @@ +From 4e124b57e40c15c9ccb19c6a219816cfc8d2a167 Mon Sep 17 00:00:00 2001 +From: Jory Pratt <anar...@gentoo.org> +Date: Thu, 12 Dec 2019 22:38:30 -0600 +Subject: [PATCH 3/3] Fix cdefs.h include for musl + +--- + lib/fixedsizehash.h | 5 ++++- + 1 files changed, 5 insertions(+), 1 deletion(-) + +diff --git a/lib/fixedsizehash.h b/lib/fixedsizehash.h +index dac2a5f..910f3ac 100644 +--- a/lib/fixedsizehash.h ++++ b/lib/fixedsizehash.h +@@ -30,8 +30,11 @@ + #include <errno.h> + #include <stdlib.h> + #include <string.h> ++#if !defined(__GLIBC__) ++#include <bsd/sys/cdefs.h> ++#else + #include <sys/cdefs.h> +- ++#endif + #include <system.h> + + #ifdef __CONCAT +-- +2.24.1 + diff --git a/dev-libs/elfutils/files/0.185/musl-fix-uninitialized-mnebuf.patch b/dev-libs/elfutils/files/0.185/musl-fix-uninitialized-mnebuf.patch new file mode 100644 index 0000000..21514af --- /dev/null +++ b/dev-libs/elfutils/files/0.185/musl-fix-uninitialized-mnebuf.patch @@ -0,0 +1,24 @@ +From 2c2d8d71838e9de7f711ea753414301e02f1e5a8 Mon Sep 17 00:00:00 2001 +From: +Date: Sat, 4 Sep 2021 10:08:49 -0500 +Subject: [PATCH] Fix uninitialized mnebuf + +--- + libcpu/i386_disasm.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/libcpu/i386_disasm.c b/libcpu/i386_disasm.c +index fd7340c..61a8256 100644 +--- a/libcpu/i386_disasm.c ++++ b/libcpu/i386_disasm.c +@@ -714,6 +714,7 @@ i386_disasm (Ebl *ebl __attribute__((unused)), + + case 'm': + /* Mnemonic. */ ++ str = mnebuf; + + if (unlikely (instrtab[cnt].mnemonic == MNE_INVALID)) + { +-- +2.32.0 + diff --git a/dev-libs/elfutils/files/elfutils-0.185-static-inline.patch b/dev-libs/elfutils/files/elfutils-0.185-static-inline.patch new file mode 100644 index 0000000..ec1aaf4 --- /dev/null +++ b/dev-libs/elfutils/files/elfutils-0.185-static-inline.patch @@ -0,0 +1,12 @@ +https://bugs.gentoo.org/794601 +--- a/src/elflint.c ++++ b/src/elflint.c +@@ -3434,7 +3434,7 @@ buffer_pos (Elf_Data *data, const unsigned char *p) + return p - (const unsigned char *) data->d_buf; + } + +-inline size_t ++static inline size_t + buffer_left (Elf_Data *data, const unsigned char *p) + { + return (const unsigned char *) data->d_buf + data->d_size - p;