All of lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCH 1/1] pixiewps: fix static linking with uclibc-ng
@ 2018-06-09 13:58 Fabrice Fontaine
  2018-06-10  4:08 ` Baruch Siach
  2018-06-10 13:49 ` Thomas Petazzoni
  0 siblings, 2 replies; 5+ messages in thread
From: Fabrice Fontaine @ 2018-06-09 13:58 UTC (permalink / raw)
  To: buildroot

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

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@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))
-- 
2.14.1

^ permalink raw reply related	[flat|nested] 5+ messages in thread

* [Buildroot] [PATCH 1/1] pixiewps: fix static linking with uclibc-ng
  2018-06-09 13:58 [Buildroot] [PATCH 1/1] pixiewps: fix static linking with uclibc-ng Fabrice Fontaine
@ 2018-06-10  4:08 ` Baruch Siach
  2018-06-10  6:05   ` Thomas Petazzoni
  2018-06-10 13:49 ` Thomas Petazzoni
  1 sibling, 1 reply; 5+ messages in thread
From: Baruch Siach @ 2018-06-10  4:08 UTC (permalink / raw)
  To: buildroot

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@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 -

^ permalink raw reply	[flat|nested] 5+ messages in thread

* [Buildroot] [PATCH 1/1] pixiewps: fix static linking with uclibc-ng
  2018-06-10  4:08 ` Baruch Siach
@ 2018-06-10  6:05   ` Thomas Petazzoni
  0 siblings, 0 replies; 5+ messages in thread
From: Thomas Petazzoni @ 2018-06-10  6:05 UTC (permalink / raw)
  To: buildroot

Hello,

On Sun, 10 Jun 2018 07:08:45 +0300, Baruch Siach wrote:

> 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/

Regarding this, I asked on the musl mailing list, and the conclusion I
got from the discussion was that indeed -static should be passed:

  http://www.openwall.com/lists/musl/2018/05/08/1

So yes, we should add -static when the packages for some reason are not
propagating this LDFLAGS.

Best regards,

Thomas
-- 
Thomas Petazzoni, CTO, Bootlin (formerly Free Electrons)
Embedded Linux and Kernel engineering
https://bootlin.com

^ permalink raw reply	[flat|nested] 5+ messages in thread

* [Buildroot] [PATCH 1/1] pixiewps: fix static linking with uclibc-ng
  2018-06-09 13:58 [Buildroot] [PATCH 1/1] pixiewps: fix static linking with uclibc-ng Fabrice Fontaine
  2018-06-10  4:08 ` Baruch Siach
@ 2018-06-10 13:49 ` Thomas Petazzoni
  2018-06-10 18:02   ` Fabrice Fontaine
  1 sibling, 1 reply; 5+ messages in thread
From: Thomas Petazzoni @ 2018-06-10 13:49 UTC (permalink / raw)
  To: buildroot

Hello,

On Sat,  9 Jun 2018 15:58:20 +0200, Fabrice Fontaine wrote:

> +PIXIEWPS_MAKE_OPTS = \
> +	$(TARGET_CONFIGURE_OPTS) \
> +	PREFIX=/usr

Why are you introducing PIXIEWPS_MAKE_OPTS instead of using
TARGET_CONFIGURE_OPTS directly ?

Indeed your change also has the consequence of passing PREFIX=/usr at
build time. Is this necessary ? This seems like an unrelated change.

By the way, are you on IRC ?

Best regards,

Thomas
-- 
Thomas Petazzoni, CTO, Bootlin (formerly Free Electrons)
Embedded Linux and Kernel engineering
https://bootlin.com

^ permalink raw reply	[flat|nested] 5+ messages in thread

* [Buildroot] [PATCH 1/1] pixiewps: fix static linking with uclibc-ng
  2018-06-10 13:49 ` Thomas Petazzoni
@ 2018-06-10 18:02   ` Fabrice Fontaine
  0 siblings, 0 replies; 5+ messages in thread
From: Fabrice Fontaine @ 2018-06-10 18:02 UTC (permalink / raw)
  To: buildroot

Dear Thomas,

2018-06-10 15:49 GMT+02:00 Thomas Petazzoni <thomas.petazzoni@bootlin.com>:

> Hello,
>
> On Sat,  9 Jun 2018 15:58:20 +0200, Fabrice Fontaine wrote:
>
> > +PIXIEWPS_MAKE_OPTS = \
> > +     $(TARGET_CONFIGURE_OPTS) \
> > +     PREFIX=/usr
>
> Why are you introducing PIXIEWPS_MAKE_OPTS instead of using
> TARGET_CONFIGURE_OPTS directly ?
>
I wanted to use this new variable to pass future options such as OPENSSL
but you're right this is not needed for this fix.

>
> Indeed your change also has the consequence of passing PREFIX=/usr at
> build time. Is this necessary ? This seems like an unrelated change.
>
No it's not necessary, I will send a v2 of this patch.

>
> By the way, are you on IRC ?
>
Nope, but I can join if needed.

>
> Best regards,
>
> Thomas
> --
> Thomas Petazzoni, CTO, Bootlin (formerly Free Electrons)
> Embedded Linux and Kernel engineering
> https://bootlin.com
>
Best Regards,

Fabrice
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.busybox.net/pipermail/buildroot/attachments/20180610/d34c81bc/attachment.html>

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2018-06-10 18:02 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-06-09 13:58 [Buildroot] [PATCH 1/1] pixiewps: fix static linking with uclibc-ng Fabrice Fontaine
2018-06-10  4:08 ` Baruch Siach
2018-06-10  6:05   ` Thomas Petazzoni
2018-06-10 13:49 ` Thomas Petazzoni
2018-06-10 18:02   ` Fabrice Fontaine

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.