[Buildroot] [PATCH 1/1] pixiewps: fix static linking with uclibc-ng
Baruch Siach
baruch at tkos.co.il
Sun Jun 10 04:08:45 UTC 2018
Hi Fabrice, Thomas,
On Sat, Jun 09, 2018 at 03:58:20PM +0200, Fabrice Fontaine wrote:
> Fixes following linking error with uClibc-ng:
> /home/peko/autobuild/instance-0/output/host/lib/gcc/powerpc-buildroot-linux-uclibc/7.3.0/libgcc.a(unwind-dw2-fde-dip.o):
> In function `_Unwind_Find_FDE':
> /home/peko/autobuild/instance-0/output/build/host-gcc-final-7.3.0/build/powerpc-buildroot-linux-uclibc/libgcc/../../../libgcc/unwind-dw2-fde-dip.c:469:
> undefined reference to `dl_iterate_phdr'
> collect2: error: ld returned 1 exit status
>
> Since uClibc-ng 1.0.18 a circular dependency between libc and libgcc
> exist, when static linking is used. It can be resolved by the compiler
> when -static is correctly passed in the linking step.
>
> So rework a little bit how variables are passed by using
> PIXIEWPS_MAKE_OPTS and TARGET_CONFIGURE_OPTS
>
> Fixes:
> - http://autobuild.buildroot.net/results/d9f0311538c8db1196839e36af3f6ef4e403be2b
Here is an example where uClibc also requires -static, even though the
toolchain is static only. So musl in not alone here, cfr. bug #10996.
This also means that the lm-sensors RFC fix is correct:
http://patchwork.ozlabs.org/patch/883243/
baruch
>
> Signed-off-by: Fabrice Fontaine <fontaine.fabrice at gmail.com>
> ---
> package/pixiewps/pixiewps.mk | 10 +++++++---
> 1 file changed, 7 insertions(+), 3 deletions(-)
>
> diff --git a/package/pixiewps/pixiewps.mk b/package/pixiewps/pixiewps.mk
> index 95a253ab83..56d15a0bbf 100644
> --- a/package/pixiewps/pixiewps.mk
> +++ b/package/pixiewps/pixiewps.mk
> @@ -9,13 +9,17 @@ PIXIEWPS_SITE = $(call github,wiire-a,pixiewps,$(PIXIEWPS_VERSION))
> PIXIEWPS_LICENSE = GPL-3.0+
> PIXIEWPS_LICENSE_FILES = LICENSE.md
>
> +PIXIEWPS_MAKE_OPTS = \
> + $(TARGET_CONFIGURE_OPTS) \
> + PREFIX=/usr
> +
> define PIXIEWPS_BUILD_CMDS
> - $(TARGET_MAKE_ENV) $(MAKE) CC=$(TARGET_CC) -C $(@D)
> + $(TARGET_MAKE_ENV) $(MAKE) $(PIXIEWPS_MAKE_OPTS) -C $(@D)
> endef
>
> define PIXIEWPS_INSTALL_TARGET_CMDS
> - $(TARGET_MAKE_ENV) $(MAKE) DESTDIR=$(TARGET_DIR) \
> - PREFIX=/usr -C $(@D) install
> + $(TARGET_MAKE_ENV) $(MAKE) $(PIXIEWPS_MAKE_OPTS) -C $(@D) \
> + DESTDIR=$(TARGET_DIR) install
> endef
>
> $(eval $(generic-package))
--
http://baruch.siach.name/blog/ ~. .~ Tk Open Systems
=}------------------------------------------------ooO--U--Ooo------------{=
- baruch at tkos.co.il - tel: +972.2.679.5364, http://www.tkos.co.il -
More information about the buildroot
mailing list