From 1b4d921e1da614a72fed2a79d5c4f8e0b6d1cd45 Mon Sep 17 00:00:00 2001 From: Bernd Kuhls Date: Mon, 31 Jul 2023 20:37:30 +0200 Subject: [PATCH] package/binutils: install libsframe to staging binutils 2.40 added libsframe: https://sourceware.org/git/?p=binutils-gdb.git;a=commit;h=19e559f1c91bfaedbd2f91d85ee161f3f03fda3c Quoting release notes: https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;a=blob_plain;f=binutils/NEWS;hb=refs/heads/binutils-2_40-branch * readelf and objdump now have a newly added option --sframe which dumps the SFrame section. Install libsframe to staging when available to avoid build errors, for example with lightning: libsframe.so.0, needed by output/per-package/lightning/host/arm- buildroot-linux-gnueabi/sysroot/usr/lib/libopcodes.so, not found Fixes: http://autobuild.buildroot.net/results/1d1/1d1480dc0c3fb0a88490e3fae85abb2aa76bdade/ Signed-off-by: Bernd Kuhls Signed-off-by: Thomas Petazzoni --- package/binutils/Config.in.host | 4 ++++ package/binutils/binutils.mk | 7 +++++++ 2 files changed, 11 insertions(+) diff --git a/package/binutils/Config.in.host b/package/binutils/Config.in.host index de5ca866e5..e62fea1406 100644 --- a/package/binutils/Config.in.host +++ b/package/binutils/Config.in.host @@ -5,6 +5,9 @@ config BR2_PACKAGE_HOST_BINUTILS_SUPPORTS_CFI default y depends on !BR2_microblaze +config BR2_PACKAGE_BINUTILS_HAS_LIBSFRAME + bool + choice prompt "Binutils Version" default BR2_BINUTILS_VERSION_2_39_X if !BR2_arc @@ -20,6 +23,7 @@ config BR2_BINUTILS_VERSION_2_39_X config BR2_BINUTILS_VERSION_2_40_X bool "binutils 2.40" + select BR2_PACKAGE_BINUTILS_HAS_LIBSFRAME config BR2_BINUTILS_VERSION_ARC bool "binutils arc (2.34.50)" diff --git a/package/binutils/binutils.mk b/package/binutils/binutils.mk index 0dd8526b26..48a036651c 100644 --- a/package/binutils/binutils.mk +++ b/package/binutils/binutils.mk @@ -105,12 +105,19 @@ endif # our TARGET_CONFIGURE_ARGS are taken into consideration for those BINUTILS_MAKE_ENV = $(TARGET_CONFIGURE_ARGS) +ifeq ($(BR2_PACKAGE_BINUTILS_HAS_LIBSFRAME),y) +define BINUTILS_INSTALL_STAGING_LIBSFRAME + $(TARGET_MAKE_ENV) $(MAKE) -C $(@D)/libsframe DESTDIR=$(STAGING_DIR) install +endef +endif + # We just want libbfd, libiberty and libopcodes, # not the full-blown binutils in staging define BINUTILS_INSTALL_STAGING_CMDS $(TARGET_MAKE_ENV) $(MAKE) -C $(@D)/bfd DESTDIR=$(STAGING_DIR) install $(TARGET_MAKE_ENV) $(MAKE) -C $(@D)/opcodes DESTDIR=$(STAGING_DIR) install $(TARGET_MAKE_ENV) $(MAKE) -C $(@D)/libiberty DESTDIR=$(STAGING_DIR) install + $(BINUTILS_INSTALL_STAGING_LIBSFRAME) endef # If we don't want full binutils on target