tools/elfutils: update to 1.91

Release Notes:
https://sourceware.org/pipermail/elfutils-devel/2024q1/006876.html

Manually refresh:
- 100-portability.patch

Change:
- replace libgen.h with gnulib "dirname" module for compilation errors:
    In file included from ./../libdw/libdwP.h:38,
                     from eblobjnote.c:42:
    /usr/include/libgen.h:35:9: error: attempt to use poisoned "basename"
       35 | #define basename        __xpg_basename
          |         ^

Tested-by: Georgi Valkov <gvalkov@gmail.com> # MacOS
Co-Developed-by: Nick Hainke <vincent@systemli.org>
Signed-off-by: Nick Hainke <vincent@systemli.org>
Signed-off-by: Tony Ambardar <itugrok@yahoo.com>
This commit is contained in:
Tony Ambardar 2024-03-03 21:04:36 -08:00 committed by Robert Marko
parent 44625e9d95
commit b6f025b424
2 changed files with 65 additions and 20 deletions

View File

@ -3,12 +3,12 @@
include $(TOPDIR)/rules.mk include $(TOPDIR)/rules.mk
PKG_NAME:=elfutils PKG_NAME:=elfutils
PKG_VERSION:=0.189 PKG_VERSION:=0.191
PKG_RELEASE:=1 PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
PKG_SOURCE_URL:=https://sourceware.org/$(PKG_NAME)/ftp/$(PKG_VERSION) PKG_SOURCE_URL:=https://sourceware.org/$(PKG_NAME)/ftp/$(PKG_VERSION)
PKG_HASH:=39bd8f1a338e2b7cd4abc3ff11a0eddc6e690f69578a57478d8179b4148708c8 PKG_HASH:=df76db71366d1d708365fc7a6c60ca48398f14367eb2b8954efc8897147ad871
PKG_LICENSE:=GPL-3.0-or-later PKG_LICENSE:=GPL-3.0-or-later
PKG_LICENSE_FILES:=COPYING COPYING-GPLV2 COPYING-LGPLV3 PKG_LICENSE_FILES:=COPYING COPYING-GPLV2 COPYING-LGPLV3
@ -43,7 +43,7 @@ endif
Hooks/HostConfigure/Pre := Host/Gnulib $(Hooks/HostConfigure/Pre) Hooks/HostConfigure/Pre := Host/Gnulib $(Hooks/HostConfigure/Pre)
define Host/Gnulib define Host/Gnulib
cd $(HOST_BUILD_DIR); $(STAGING_DIR_HOST)/bin/gnulib-tool --libtool --source-base=libgnu --import argp obstack fts strchrnul progname tsearch; cd $(HOST_BUILD_DIR); $(STAGING_DIR_HOST)/bin/gnulib-tool --libtool --source-base=libgnu --import argp dirname fts obstack progname strchrnul tsearch;
ln -sf ../lib/eu-config.h $(HOST_BUILD_DIR)/libgnu/; ln -sf ../lib/eu-config.h $(HOST_BUILD_DIR)/libgnu/;
endef endef

View File

@ -2,7 +2,7 @@
+++ b/configure.ac +++ b/configure.ac
@@ -20,6 +20,7 @@ dnl You should have received a copy of @@ -20,6 +20,7 @@ dnl You should have received a copy of
dnl along with this program. If not, see <http://www.gnu.org/licenses/>. dnl along with this program. If not, see <http://www.gnu.org/licenses/>.
AC_INIT([elfutils],[0.189],[https://sourceware.org/bugzilla],[elfutils],[http://elfutils.org/]) AC_INIT([elfutils],[0.191],[https://sourceware.org/bugzilla],[elfutils],[http://elfutils.org/])
+AC_CONFIG_MACRO_DIRS([m4]) +AC_CONFIG_MACRO_DIRS([m4])
dnl Workaround for older autoconf < 2.64 dnl Workaround for older autoconf < 2.64
@ -15,7 +15,7 @@
-AC_CONFIG_FILES([config/Makefile]) -AC_CONFIG_FILES([config/Makefile])
+AC_CONFIG_FILES([config/Makefile libgnu/Makefile]) +AC_CONFIG_FILES([config/Makefile libgnu/Makefile])
AC_COPYRIGHT([Copyright (C) 1996-2023 The elfutils developers.]) AC_COPYRIGHT([Copyright (C) 1996-2024 The elfutils developers.])
-AC_PREREQ(2.63) dnl Minimum Autoconf version required. -AC_PREREQ(2.63) dnl Minimum Autoconf version required.
+AC_PREREQ(2.64) dnl Minimum Autoconf version required. +AC_PREREQ(2.64) dnl Minimum Autoconf version required.
@ -99,7 +99,7 @@
- libasm debuginfod src po doc tests - libasm debuginfod src po doc tests
+SUBDIRS = libgnu config lib libelf libcpu backends libebl libdwelf libdwfl libdw +SUBDIRS = libgnu config lib libelf libcpu backends libebl libdwelf libdwfl libdw
EXTRA_DIST = elfutils.spec GPG-KEY NOTES CONTRIBUTING \ EXTRA_DIST = elfutils.spec GPG-KEY NOTES CONTRIBUTING SECURITY \
- COPYING COPYING-GPLV2 COPYING-LGPLV3 - COPYING COPYING-GPLV2 COPYING-LGPLV3
+ COPYING COPYING-GPLV2 COPYING-LGPLV3 \ + COPYING COPYING-GPLV2 COPYING-LGPLV3 \
+ m4/gnulib-cache.m4 + m4/gnulib-cache.m4
@ -144,8 +144,8 @@
write_file (Elf *elf, int64_t size, int change_bo, size_t shnum) write_file (Elf *elf, int64_t size, int change_bo, size_t shnum)
--- a/lib/eu-config.h --- a/lib/eu-config.h
+++ b/lib/eu-config.h +++ b/lib/eu-config.h
@@ -52,14 +52,18 @@ @@ -59,14 +59,18 @@
# define rwlock_unlock(lock) ((void) (lock)) # define once(once_control, init_routine) init_routine()
#endif /* USE_LOCKS */ #endif /* USE_LOCKS */
-#include <libintl.h> -#include <libintl.h>
@ -164,7 +164,7 @@
#ifdef __i386__ #ifdef __i386__
# define internal_function __attribute__ ((regparm (3), stdcall)) # define internal_function __attribute__ ((regparm (3), stdcall))
@@ -70,12 +74,7 @@ @@ -77,12 +81,7 @@
#define internal_strong_alias(name, aliasname) \ #define internal_strong_alias(name, aliasname) \
extern __typeof (name) aliasname __attribute__ ((alias (#name))) internal_function; extern __typeof (name) aliasname __attribute__ ((alias (#name))) internal_function;
@ -177,7 +177,7 @@
#ifdef HAVE_GCC_STRUCT #ifdef HAVE_GCC_STRUCT
#define attribute_packed \ #define attribute_packed \
@@ -159,7 +158,7 @@ asm (".section predict_data, \"aw\"; .pr @@ -166,7 +165,7 @@ asm (".section predict_data, \"aw\"; .pr
#endif #endif
/* Avoid PLT entries. */ /* Avoid PLT entries. */
@ -597,7 +597,7 @@
modules = i386 sh x86_64 ia64 alpha arm aarch64 sparc ppc ppc64 s390 \ modules = i386 sh x86_64 ia64 alpha arm aarch64 sparc ppc ppc64 s390 \
m68k bpf riscv csky loongarch arc m68k bpf riscv csky loongarch arc
@@ -100,17 +100,13 @@ loongarch_SRCS = loongarch_init.c loonga @@ -102,17 +102,13 @@ loongarch_SRCS = loongarch_init.c loonga
arc_SRCS = arc_init.c arc_symbol.c arc_SRCS = arc_init.c arc_symbol.c
@ -779,7 +779,7 @@
+++ b/src/Makefile.am +++ b/src/Makefile.am
@@ -29,9 +29,9 @@ bin_PROGRAMS = readelf nm size strip elf @@ -29,9 +29,9 @@ bin_PROGRAMS = readelf nm size strip elf
elfcmp objdump ranlib strings ar unstrip stack elfcompress \ elfcmp objdump ranlib strings ar unstrip stack elfcompress \
elfclassify elfclassify srcfiles
-noinst_LIBRARIES = libar.a -noinst_LIBRARIES = libar.a
+noinst_LTLIBRARIES = libar.la +noinst_LTLIBRARIES = libar.la
@ -789,30 +789,41 @@
EXTRA_DIST = arlib.h debugpred.h EXTRA_DIST = arlib.h debugpred.h
@@ -39,17 +39,11 @@ bin_SCRIPTS = make-debug-archive @@ -39,27 +39,16 @@ bin_SCRIPTS = make-debug-archive
EXTRA_DIST += make-debug-archive.in EXTRA_DIST += make-debug-archive.in
CLEANFILES += make-debug-archive CLEANFILES += make-debug-archive
-if BUILD_STATIC -if BUILD_STATIC
-libasm = ../libasm/libasm.a -libasm = ../libasm/libasm.a
-libdw = ../libdw/libdw.a -lz $(zip_LIBS) $(libelf) -ldl -lpthread -libdw = ../libdw/libdw.a -lz $(zip_LIBS) $(libelf) -ldl -lpthread
-libelf = ../libelf/libelf.a -lz -libelf = ../libelf/libelf.a -lz $(zstd_LIBS)
+libasm = ../libasm/libasm.la
+libdw = ../libdw/libdw.la -lz $(zip_LIBS) $(libelf) -ldl -lpthread
+libelf = ../libelf/libelf.la -lz $(zstd_LIBS)
if LIBDEBUGINFOD
-libdebuginfod = ../debuginfod/libdebuginfod.a -lpthread $(libcurl_LIBS)
+libdebuginfod = ../debuginfod/libdebuginfod.la -lpthread $(libcurl_LIBS)
else
libdebuginfod =
endif
-else -else
-libasm = ../libasm/libasm.so -libasm = ../libasm/libasm.so
-libdw = ../libdw/libdw.so -libdw = ../libdw/libdw.so
-libelf = ../libelf/libelf.so -libelf = ../libelf/libelf.so
-if LIBDEBUGINFOD
-libdebuginfod = ../debuginfod/libdebuginfod.so
-else
-libdebuginfod =
-endif
-endif -endif
-libebl = ../libebl/libebl.a ../backends/libebl_backends.a ../libcpu/libcpu.a -libebl = ../libebl/libebl.a ../backends/libebl_backends.a ../libcpu/libcpu.a
-libeu = ../lib/libeu.a -libeu = ../lib/libeu.a
+libasm = ../libasm/libasm.la
+libdw = ../libdw/libdw.la -lz $(zip_LIBS) $(libelf) -ldl -lpthread
+libelf = ../libelf/libelf.la
+libebl = ../libebl/libebl.la ../backends/libebl_backends.la ../libcpu/libcpu.la +libebl = ../libebl/libebl.la ../backends/libebl_backends.la ../libcpu/libcpu.la
+libeu = ../lib/libeu.la +libeu = ../lib/libeu.la
if DEMANGLE if DEMANGLE
demanglelib = -lstdc++ demanglelib = -lstdc++
@@ -77,9 +71,9 @@ findtextrel_LDADD = $(libdw) $(libelf) $ @@ -87,9 +76,9 @@ findtextrel_LDADD = $(libdw) $(libelf) $
addr2line_LDADD = $(libdw) $(libelf) $(libeu) $(argp_LDADD) $(demanglelib) addr2line_LDADD = $(libdw) $(libelf) $(libeu) $(argp_LDADD) $(demanglelib)
elfcmp_LDADD = $(libebl) $(libdw) $(libelf) $(libeu) $(argp_LDADD) elfcmp_LDADD = $(libebl) $(libdw) $(libelf) $(libeu) $(argp_LDADD)
objdump_LDADD = $(libasm) $(libebl) $(libdw) $(libelf) $(libeu) $(argp_LDADD) objdump_LDADD = $(libasm) $(libebl) $(libdw) $(libelf) $(libeu) $(argp_LDADD)
@ -826,13 +837,13 @@
elfcompress_LDADD = $(libebl) $(libelf) $(libdw) $(libeu) $(argp_LDADD) elfcompress_LDADD = $(libebl) $(libelf) $(libdw) $(libeu) $(argp_LDADD)
--- a/tests/Makefile.am --- a/tests/Makefile.am
+++ b/tests/Makefile.am +++ b/tests/Makefile.am
@@ -662,17 +662,11 @@ installcheck-local: @@ -689,17 +689,11 @@ installcheck-local:
TESTS_ENVIRONMENT="$(installed_TESTS_ENVIRONMENT)" \ TESTS_ENVIRONMENT="$(installed_TESTS_ENVIRONMENT)" \
LOG_COMPILER="$(installed_LOG_COMPILER)" check-TESTS LOG_COMPILER="$(installed_LOG_COMPILER)" check-TESTS
-if BUILD_STATIC -if BUILD_STATIC
-libdw = ../libdw/libdw.a -lz $(zip_LIBS) $(libelf) $(libebl) -ldl -lpthread -libdw = ../libdw/libdw.a -lz $(zip_LIBS) $(libelf) $(libebl) -ldl -lpthread
-libelf = ../libelf/libelf.a -lz -libelf = ../libelf/libelf.a -lz $(zstd_LIBS)
-libasm = ../libasm/libasm.a -libasm = ../libasm/libasm.a
-else -else
-libdw = ../libdw/libdw.so -libdw = ../libdw/libdw.so
@ -908,3 +919,37 @@
Cflags: -I${includedir} Cflags: -I${includedir}
Requires.private: zlib @LIBZSTD@ Requires.private: zlib @LIBZSTD@
--- a/lib/next_prime.c
+++ b/lib/next_prime.c
@@ -27,6 +27,7 @@
the GNU Lesser General Public License along with this program. If
not, see <http://www.gnu.org/licenses/>. */
+#include <config.h>
#include <stddef.h>
--- a/libdw/libdwP.h
+++ b/libdw/libdwP.h
@@ -35,7 +35,7 @@
#include <libeu.h>
#include <libdw.h>
#include <dwarf.h>
-#include <libgen.h>
+#include <dirname.h>
/* Known location expressions already decoded. */
--- a/libdwfl/libdwflP.h
+++ b/libdwfl/libdwflP.h
@@ -32,7 +32,7 @@
#include <libdwfl.h>
#include <libebl.h>
#include <libeu.h>
-#include <libgen.h>
+#include <dirname.h>
#include <assert.h>
#include <dirent.h>
#include <errno.h>