Rudi Heitbaum 2024-10-19 02:36:26 +00:00
parent 4b9746eb8a
commit 119ce4bf9e
3 changed files with 38 additions and 39 deletions

View File

@ -3,8 +3,8 @@
# Copyright (C) 2018-present Team LibreELEC (https://libreelec.tv)
PKG_NAME="elfutils"
PKG_VERSION="0.191"
PKG_SHA256="df76db71366d1d708365fc7a6c60ca48398f14367eb2b8954efc8897147ad871"
PKG_VERSION="0.192"
PKG_SHA256="616099beae24aba11f9b63d86ca6cc8d566d968b802391334c91df54eab416b4"
PKG_LICENSE="GPL"
PKG_SITE="https://sourceware.org/elfutils/"
PKG_URL="https://sourceware.org/elfutils/ftp/${PKG_VERSION}/${PKG_NAME}-${PKG_VERSION}.tar.bz2"

View File

@ -1,37 +0,0 @@
From: Mark Wielaard <mark@klomp.org>
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 <mark@klomp.org>
---
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;
}

View File

@ -0,0 +1,36 @@
From f5d6e088f84dd05278c4698a21cbf1ff4569978d Mon Sep 17 00:00:00 2001
From: Mark Wielaard <mark@klomp.org>
Date: Tue, 22 Oct 2024 15:03:42 +0200
Subject: [PATCH] libelf: Add libeu objects to libelf.a static archive
libelf might use some symbols from libeu.a, specifically the eu-search
wrappers. But we don't ship libeu.a separately. So include the libeu
objects in the libelf.a archive to facilitate static linking.
* libelf/Makefile.am (libeu_objects): New variable.
(libelf_a_LIBADD): New, add libeu_objects.
https://sourceware.org/bugzilla/show_bug.cgi?id=32293
Signed-off-by: Mark Wielaard <mark@klomp.org>
---
libelf/Makefile.am | 3 +++
1 file changed, 3 insertions(+)
diff --git a/libelf/Makefile.am b/libelf/Makefile.am
index 3402863ef..2d3dbdf22 100644
--- a/libelf/Makefile.am
+++ b/libelf/Makefile.am
@@ -122,6 +122,9 @@ libelf.so: $(srcdir)/libelf.map $(libelf_so_LIBS) $(libelf_so_DEPS)
@$(textrel_check)
$(AM_V_at)ln -fs $@ $@.$(VERSION)
+libeu_objects = $(shell $(AR) t ../lib/libeu.a)
+libelf_a_LIBADD = $(addprefix ../lib/,$(libeu_objects))
+
install: install-am libelf.so
$(mkinstalldirs) $(DESTDIR)$(libdir)
$(INSTALL_PROGRAM) libelf.so $(DESTDIR)$(libdir)/libelf-$(PACKAGE_VERSION).so
--
2.43.5