From 6d5562dd5b82c42501c4c445cf2f1dc496673e74 Mon Sep 17 00:00:00 2001 From: Rudi Heitbaum Date: Sat, 2 Mar 2024 02:33:23 +0000 Subject: [PATCH] elfutils: update to 0.191 includes fix - https://sourceware.org/bugzilla/show_bug.cgi?id=31439 --- packages/devel/elfutils/package.mk | 4 +- ...USE-in-libdwP-h-str_offsets_base_off.patch | 37 +++++++++++++++++++ 2 files changed, 39 insertions(+), 2 deletions(-) create mode 100644 packages/devel/elfutils/patches/elfutils-002-libdw--Don-t-use-INTUSE-in-libdwP-h-str_offsets_base_off.patch diff --git a/packages/devel/elfutils/package.mk b/packages/devel/elfutils/package.mk index ca7f685706..0a0977fe8c 100644 --- a/packages/devel/elfutils/package.mk +++ b/packages/devel/elfutils/package.mk @@ -3,8 +3,8 @@ # Copyright (C) 2018-present Team LibreELEC (https://libreelec.tv) PKG_NAME="elfutils" -PKG_VERSION="0.190" -PKG_SHA256="8e00a3a9b5f04bc1dc273ae86281d2d26ed412020b391ffcc23198f10231d692" +PKG_VERSION="0.191" +PKG_SHA256="df76db71366d1d708365fc7a6c60ca48398f14367eb2b8954efc8897147ad871" PKG_LICENSE="GPL" PKG_SITE="https://sourceware.org/elfutils/" PKG_URL="https://sourceware.org/elfutils/ftp/${PKG_VERSION}/${PKG_NAME}-${PKG_VERSION}.tar.bz2" diff --git a/packages/devel/elfutils/patches/elfutils-002-libdw--Don-t-use-INTUSE-in-libdwP-h-str_offsets_base_off.patch b/packages/devel/elfutils/patches/elfutils-002-libdw--Don-t-use-INTUSE-in-libdwP-h-str_offsets_base_off.patch new file mode 100644 index 0000000000..fc9fbd917b --- /dev/null +++ b/packages/devel/elfutils/patches/elfutils-002-libdw--Don-t-use-INTUSE-in-libdwP-h-str_offsets_base_off.patch @@ -0,0 +1,37 @@ +From: Mark Wielaard +Date: Sat, 2 Mar 2024 23:45:34 +0000 (+0100) +Subject: libdw: Don't use INTUSE in libdwP.h str_offsets_base_off +X-Git-Url: https://sourceware.org/git/?p=elfutils.git;a=commitdiff_plain;h=7cf4586e5b429c0fa74d3ae73f49e6cda6660e93;hp=18a015c0b0787ba5acb39801ab7c17dac50f584d + +libdw: Don't use INTUSE in libdwP.h str_offsets_base_off + +readelf.c cheats and include libdwP.h, which is an internal only +header of libdw. It really shouldn't do that, but there are some +internals that readelf currently needs. The str_offsets_base_off +function used by readelf uses INTUSE when calling dwarf_get_units. +This is a micro optimization useful inside libdw so a public +function can be called directly, skipping a PLT call. This can +cause issues linking readelf since it might not be able to call +the internal function, since readelf.c isn't part of libdw itself. +Just drop the INTUSE. + + * libdw/libdwP.h (str_offsets_base_off): Don't use INTUSE + when calling dwarf_get_units. + +Signed-off-by: Mark Wielaard +--- + +diff --git a/libdw/libdwP.h b/libdw/libdwP.h +index 8b2f06fa5..c1c84ed35 100644 +--- a/libdw/libdwP.h ++++ b/libdw/libdwP.h +@@ -1153,8 +1153,7 @@ str_offsets_base_off (Dwarf *dbg, Dwarf_CU *cu) + if (cu == NULL && dbg != NULL) + { + Dwarf_CU *first_cu; +- if (INTUSE(dwarf_get_units) (dbg, NULL, &first_cu, +- NULL, NULL, NULL, NULL) == 0) ++ if (dwarf_get_units (dbg, NULL, &first_cu, NULL, NULL, NULL, NULL) == 0) + cu = first_cu; + } +