package/binutils: install libsframe for all relevant binutils versions

Fix the following build failure with oprofile raised since bump of
binutils to version 2.40 in commit
35656482d3:

configure: error: bfd library not found

[...]

configure:17928: checking for bfd_openr in -lbfd
configure:17953: /home/buildroot/autobuild/run/instance-1/output-1/host/bin/arm-linux-gcc -o conftest -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64  -Os -g0  -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64  conftest.c -lbfd  -liberty -lpopt  -ldl -lintl >&5
/home/buildroot/autobuild/run/instance-1/output-1/host/opt/ext-toolchain/bin/../lib/gcc/arm-buildroot-linux-uclibcgnueabi/12.3.0/../../../../arm-buildroot-linux-uclibcgnueabi/bin/ld: warning: libsframe.so.0, needed by /home/buildroot/autobuild/run/instance-1/output-1/host/arm-buildroot-linux-uclibcgnueabi/sysroot/usr/lib/libbfd.so, not found (try using -rpath or -rpath-link)

Indeed, in this case, libsframe is not installed even after applying
commit 1b4d921e1d because
BR2_BINUTILS_VERSION_2_40_X is not selected by anyone (binutils package
is selected by oprofile and the toolchain is not generated by buildroot)

To fix this issue, invert the logic: install libsframe by default (i.e.
when binutils is selected or with a buildroot toolchain). libsframe will
not be installed only if binutils < 2.40 is detected.

Fixes:
 - http://autobuild.buildroot.org/results/af9a2d52823a332b48e6df14d2708b6a4b3833a4

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
This commit is contained in:
Fabrice Fontaine 2023-09-19 08:15:56 +02:00 committed by Thomas Petazzoni
parent 7c6c018ad4
commit e9f2f48a7e
2 changed files with 4 additions and 4 deletions

View File

@ -5,7 +5,7 @@ config BR2_PACKAGE_HOST_BINUTILS_SUPPORTS_CFI
default y
depends on !BR2_microblaze
config BR2_PACKAGE_BINUTILS_HAS_LIBSFRAME
config BR2_PACKAGE_BINUTILS_HAS_NO_LIBSFRAME
bool
choice
@ -17,18 +17,18 @@ choice
config BR2_BINUTILS_VERSION_2_39_X
bool "binutils 2.39"
select BR2_PACKAGE_BINUTILS_HAS_NO_LIBSFRAME
config BR2_BINUTILS_VERSION_2_40_X
bool "binutils 2.40"
select BR2_PACKAGE_BINUTILS_HAS_LIBSFRAME
config BR2_BINUTILS_VERSION_2_41_X
bool "binutils 2.41"
select BR2_PACKAGE_BINUTILS_HAS_LIBSFRAME
config BR2_BINUTILS_VERSION_ARC
bool "binutils arc (2.34.50)"
depends on BR2_arc
select BR2_PACKAGE_BINUTILS_HAS_NO_LIBSFRAME
endchoice

View File

@ -105,7 +105,7 @@ endif
# our TARGET_CONFIGURE_ARGS are taken into consideration for those
BINUTILS_MAKE_ENV = $(TARGET_CONFIGURE_ARGS)
ifeq ($(BR2_PACKAGE_BINUTILS_HAS_LIBSFRAME),y)
ifeq ($(BR2_PACKAGE_BINUTILS_HAS_NO_LIBSFRAME),)
define BINUTILS_INSTALL_STAGING_LIBSFRAME
$(TARGET_MAKE_ENV) $(MAKE) -C $(@D)/libsframe DESTDIR=$(STAGING_DIR) install
endef