diff options
author | Tony Ambardar <itugrok@yahoo.com> | 2021-03-28 00:40:31 -0700 |
---|---|---|
committer | Hauke Mehrtens <hauke@hauke-m.de> | 2021-04-03 18:56:02 +0200 |
commit | 9a59f62f613b1ca774032ccd80c51c74491b142c (patch) | |
tree | 9332ac1bbd85d2a6549cce66c30f378b18873c2b /package | |
parent | c8c638a19b63bf6c3bf8094aebd8fde6feda36ba (diff) | |
download | upstream-9a59f62f613b1ca774032ccd80c51c74491b142c.tar.gz upstream-9a59f62f613b1ca774032ccd80c51c74491b142c.tar.bz2 upstream-9a59f62f613b1ca774032ccd80c51c74491b142c.zip |
binutils: fix libbfd missing DSO dependency if NLS enabled
The libbfd package definition uses $(ICONV_DEPENDS) and $(INTL_DEPENDS)
but links against neither, leading to libbfd detection failures in other
packages (e.g. bpftools) and on-target relocation problems with libintl.so:
root@OpenWrt:/# ldd /usr/lib/libbfd.so
ldd (0x77db6000)
libc.so => ldd (0x77db6000)
libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x77c6d000)
Error relocating /usr/lib/libbfd.so: libintl_dgettext: symbol not found
Add NLS-conditional linking of "libintl" to fix this. Also remove libbfd
package dependency $(ICONV_DEPENDS) which is not used during building or
linking.
Tested with QEMU on malta/be32, after building all packages from binutils,
bpftools and iproute2, using different libc options musl and glibc.
Fixes: 08e817569630 ("binutils: use nls.mk to fix libbfd link errors in
other packages")
Signed-off-by: Tony Ambardar <itugrok@yahoo.com>
Diffstat (limited to 'package')
-rw-r--r-- | package/devel/binutils/Makefile | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/package/devel/binutils/Makefile b/package/devel/binutils/Makefile index 23f1ea9c25..790fb1e91a 100644 --- a/package/devel/binutils/Makefile +++ b/package/devel/binutils/Makefile @@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=binutils PKG_VERSION:=2.35.1 -PKG_RELEASE:=1 +PKG_RELEASE:=2 PKG_SOURCE_URL:=@GNU/binutils PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz @@ -34,7 +34,7 @@ define Package/libbfd SECTION:=libs CATEGORY:=Libraries TITLE:=libbfd - DEPENDS:=+zlib $(ICONV_DEPENDS) $(INTL_DEPENDS) + DEPENDS:=+zlib $(INTL_DEPENDS) endef define Package/libctf @@ -79,6 +79,8 @@ endef TARGET_CFLAGS += $(FPIC) -Wno-unused-value +TARGET_LDFLAGS += $(if $(INTL_FULL),-lintl) + CONFIGURE_ARGS += \ --host=$(REAL_GNU_TARGET_NAME) \ --target=$(REAL_GNU_TARGET_NAME) \ |