summaryrefslogtreecommitdiff
path: root/package/elfutils
diff options
context:
space:
mode:
authorWaldemar Brodkorb <wbx@openadk.org>2025-01-09 11:48:24 +0100
committerWaldemar Brodkorb <wbx@openadk.org>2025-01-09 11:50:56 +0100
commit12db3c8436211c587cc8d8249482cad48a06fbfe (patch)
tree436a7fa13e8088b6341f5418e2718c445ccc9741 /package/elfutils
parent56cd779a7a48465714d69b4a22ae66ee894b15ce (diff)
use elfutils systemwide
libelf is deprecated and does not build with gcc-14. Use elfutils instead as drop-in replacement. Add patches from Buildroot to disable progs, which use glibc specific functions.
Diffstat (limited to 'package/elfutils')
-rw-r--r--package/elfutils/Makefile22
-rw-r--r--package/elfutils/patches/patch-Makefile_am16
-rw-r--r--package/elfutils/patches/patch-configure_ac24
3 files changed, 52 insertions, 10 deletions
diff --git a/package/elfutils/Makefile b/package/elfutils/Makefile
index 825ab10eb..231559424 100644
--- a/package/elfutils/Makefile
+++ b/package/elfutils/Makefile
@@ -4,16 +4,16 @@
include $(ADK_TOPDIR)/rules.mk
PKG_NAME:= elfutils
-PKG_VERSION:= 0.161
+PKG_VERSION:= 0.189
PKG_RELEASE:= 1
-PKG_HASH:= 570c91a1783fa5386aaa2dfdd08dda1de777c2b63bf3b9c1437d635ffdd7a070
+PKG_HASH:= 39bd8f1a338e2b7cd4abc3ff11a0eddc6e690f69578a57478d8179b4148708c8
PKG_DESCR:= libraries/utilities to handle elf objects (drop in replacement for libelf)
PKG_SECTION:= base/libs
-PKG_URL:= https://fedorahosted.org/elfutils/
-PKG_SITES:= https://fedorahosted.org/releases/e/l/elfutils/$(PKG_VERSION)/
+PKG_NEEDS:= intl
+PKG_SITES:= https://sourceware.org/elfutils/ftp/$(PKG_VERSION)/
# require argp()
-PKG_LIBC_DEPENDS:= glibc
+PKG_LIBC_DEPENDS:= glibc uclibc-ng
DISTFILES:= $(PKG_NAME)-$(PKG_VERSION).tar.bz2
@@ -24,14 +24,16 @@ $(eval $(call PKG_template,ELFUTILS,elfutils,$(PKG_VERSION)-$(PKG_RELEASE),$(PKG
# not only because we pass -DNDEBUG, this package won't build with -Werror
TARGET_CFLAGS+= -Wno-error
+AUTOTOOL_STYLE:= autoreconf
+CONFIGURE_ARGS+= --disable-symbol-versioning \
+ --disable-debuginfod \
+ --disable-libdebuginfod \
+ --disable-demangler \
+ --disable-progs
+
elfutils-install:
$(INSTALL_DIR) $(IDIR_ELFUTILS)/usr/lib/elfutils
$(CP) $(WRKINST)/usr/lib/lib{asm,dw,elf}*.so* \
$(IDIR_ELFUTILS)/usr/lib
- $(CP) $(WRKINST)/usr/lib/elfutils/libebl*.so \
- $(IDIR_ELFUTILS)/usr/lib/elfutils
- $(INSTALL_DIR) $(IDIR_ELFUTILS)/usr/bin
- $(INSTALL_BIN) $(WRKINST)/usr/bin/* \
- $(IDIR_ELFUTILS)/usr/bin
include $(ADK_TOPDIR)/mk/pkg-bottom.mk
diff --git a/package/elfutils/patches/patch-Makefile_am b/package/elfutils/patches/patch-Makefile_am
new file mode 100644
index 000000000..579e76113
--- /dev/null
+++ b/package/elfutils/patches/patch-Makefile_am
@@ -0,0 +1,16 @@
+--- elfutils-0.189.orig/Makefile.am 2023-03-03 16:42:26.000000000 +0100
++++ elfutils-0.189/Makefile.am 2025-01-08 20:12:14.302360288 +0100
+@@ -26,8 +26,12 @@ AM_MAKEFLAGS = --no-print-directory
+
+ pkginclude_HEADERS = version.h
+
++if ENABLE_PROGS
++PROGS_SUBDIR = src
++endif
++
+ SUBDIRS = config lib libelf libcpu backends libebl libdwelf libdwfl libdw \
+- libasm debuginfod src po doc tests
++ libasm debuginfod $(PROGS_SUBDIR) po doc tests
+
+ EXTRA_DIST = elfutils.spec GPG-KEY NOTES CONTRIBUTING \
+ COPYING COPYING-GPLV2 COPYING-LGPLV3
diff --git a/package/elfutils/patches/patch-configure_ac b/package/elfutils/patches/patch-configure_ac
new file mode 100644
index 000000000..40b65da79
--- /dev/null
+++ b/package/elfutils/patches/patch-configure_ac
@@ -0,0 +1,24 @@
+--- elfutils-0.189.orig/configure.ac 2023-03-03 16:42:26.000000000 +0100
++++ elfutils-0.189/configure.ac 2025-01-08 20:12:14.302360288 +0100
+@@ -422,6 +422,12 @@ AS_HELP_STRING([--enable-tests-rpath],[b
+ [tests_use_rpath=$enableval], [tests_use_rpath=no])
+ AM_CONDITIONAL(TESTS_RPATH, test "$tests_use_rpath" = yes)
+
++AC_ARG_ENABLE([progs],
++ AS_HELP_STRING([--enable-progs], [enable progs]),
++ enable_progs=$enableval,
++ enable_progs=yes)
++AM_CONDITIONAL(ENABLE_PROGS, test "$enable_progs" = yes)
++
+ dnl zlib is mandatory.
+ save_LIBS="$LIBS"
+ LIBS=
+@@ -659,7 +665,7 @@ saved_LIBS="$LIBS"
+ AC_SEARCH_LIBS([_obstack_free], [obstack])
+ LIBS="$saved_LIBS"
+ case "$ac_cv_search__obstack_free" in
+- no) AC_MSG_FAILURE([failed to find _obstack_free]) ;;
++ no) obstack_LIBS= ;;
+ -l*) obstack_LIBS="$ac_cv_search__obstack_free" ;;
+ *) obstack_LIBS= ;;
+ esac