binutils: fix libbfd missing DSO dependency if NLS enabled
authorTony Ambardar <itugrok@yahoo.com>
Sun, 28 Mar 2021 07:40:31 +0000 (00:40 -0700)
committerHauke Mehrtens <hauke@hauke-m.de>
Sat, 10 Apr 2021 12:22:28 +0000 (14:22 +0200)
commit879cbd9e97bb4cf1c87f907946c6be0e8d46a1fd
treede8dbe1cc47da7521651d845a10b121616e440c6
parentf88459de25820b56371765525f6d2a3fa19b575a
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>
(cherry picked from commit 9a59f62f613b1ca774032ccd80c51c74491b142c)
package/devel/binutils/Makefile