mirror of
				git://git.openwrt.org/openwrt/openwrt.git
				synced 2025-11-04 06:54:27 -05:00 
			
		
		
		
	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: 08e8175696 ("binutils: use nls.mk to fix libbfd link errors in
other packages")
Signed-off-by: Tony Ambardar <itugrok@yahoo.com>
			
			
This commit is contained in:
		
							parent
							
								
									c8c638a19b
								
							
						
					
					
						commit
						9a59f62f61
					
				@ -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) \
 | 
			
		||||
 | 
			
		||||
		Loading…
	
		Reference in New Issue
	
	Block a user