diff mbox series

[1/1] package/dmalloc: unconditionally set -fPIC

Message ID 20210514212602.2274195-1-fontaine.fabrice@gmail.com
State Superseded
Headers show
Series [1/1] package/dmalloc: unconditionally set -fPIC | expand

Commit Message

Fabrice Fontaine May 14, 2021, 9:26 p.m. UTC
Unconditionally set -fPIC to avoid the following build failure which is
raised since commit 19ec872f169a851b48ba04d22432b7c0939847d4:

/home/giuliobenetti/autobuild/run/instance-2/output-1/host/bin/or1k-linux-ld -shared --whole-archive -soname libdmallocxx.so -o libdmallocxx.so.t libdmallocxx.a
/home/giuliobenetti/autobuild/run/instance-2/output-1/host/bin/or1k-linux-ld: libdmallocxx.a(arg_check.o): non-pic relocation against symbol _dmalloc_flags
/home/giuliobenetti/autobuild/run/instance-2/output-1/host/bin/or1k-linux-ld: libdmallocxx.a(arg_check.o): non-pic relocation against symbol _dmalloc_flags
/home/giuliobenetti/autobuild/run/instance-2/output-1/host/bin/or1k-linux-ld: libdmallocxx.a(arg_check.o): pc-relative relocation against dynamic symbol dmalloc_verify_pnt

Fixes:
 - http://autobuild.buildroot.org/results/62c9c6aebca60649bd6f635125507bf10d63fc05

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
---
 package/dmalloc/dmalloc.mk | 6 +-----
 1 file changed, 1 insertion(+), 5 deletions(-)

Comments

Yann E. MORIN May 15, 2021, 3:08 p.m. UTC | #1
Fabrice, All,

On 2021-05-14 23:26 +0200, Fabrice Fontaine spake thusly:
> Unconditionally set -fPIC to avoid the following build failure which is
> raised since commit 19ec872f169a851b48ba04d22432b7c0939847d4:
> 
> /home/giuliobenetti/autobuild/run/instance-2/output-1/host/bin/or1k-linux-ld -shared --whole-archive -soname libdmallocxx.so -o libdmallocxx.so.t libdmallocxx.a
> /home/giuliobenetti/autobuild/run/instance-2/output-1/host/bin/or1k-linux-ld: libdmallocxx.a(arg_check.o): non-pic relocation against symbol _dmalloc_flags
> /home/giuliobenetti/autobuild/run/instance-2/output-1/host/bin/or1k-linux-ld: libdmallocxx.a(arg_check.o): non-pic relocation against symbol _dmalloc_flags
> /home/giuliobenetti/autobuild/run/instance-2/output-1/host/bin/or1k-linux-ld: libdmallocxx.a(arg_check.o): pc-relative relocation against dynamic symbol dmalloc_verify_pnt
> 
> Fixes:
>  - http://autobuild.buildroot.org/results/62c9c6aebca60649bd6f635125507bf10d63fc05

I don't think this is the correct fix.

Indeed, that build has BR2_STATIC_LIBS=y so we are supposed to only
build static libs, not shared ones.

Yet, dmalloc is attempting a shared build;
    /home/giuliobenetti/autobuild/run/instance-2/output-1/host/bin/or1k-linux-ld
    -shared --whole-archive -soname libdmallocxx.so -o libdmallocxx.so.t
    libdmallocxx.a

That's because we have an unconditional:
    DMALLOC_CONF_OPTS = --enable-shlib

which I guess should be changed to being conditional to !BR2_STATIC_LIBS

Care to look into that, please?

Regards,
Yann E. MORIN.

> Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
> ---
>  package/dmalloc/dmalloc.mk | 6 +-----
>  1 file changed, 1 insertion(+), 5 deletions(-)
> 
> diff --git a/package/dmalloc/dmalloc.mk b/package/dmalloc/dmalloc.mk
> index 638fe0fcda..8300cc7f19 100644
> --- a/package/dmalloc/dmalloc.mk
> +++ b/package/dmalloc/dmalloc.mk
> @@ -14,11 +14,7 @@ DMALLOC_LICENSE_FILES = dmalloc.h.1
>  
>  DMALLOC_INSTALL_STAGING = YES
>  DMALLOC_CONF_OPTS = --enable-shlib
> -DMALLOC_CFLAGS = $(TARGET_CFLAGS)
> -
> -ifeq ($(BR2_STATIC_LIBS),)
> -DMALLOC_CFLAGS += -fPIC
> -endif
> +DMALLOC_CFLAGS = $(TARGET_CFLAGS) -fPIC
>  
>  ifeq ($(BR2_INSTALL_LIBSTDCPP),y)
>  DMALLOC_CONF_OPTS += --enable-cxx
> -- 
> 2.30.2
> 
> _______________________________________________
> buildroot mailing list
> buildroot@busybox.net
> http://lists.busybox.net/mailman/listinfo/buildroot
diff mbox series

Patch

diff --git a/package/dmalloc/dmalloc.mk b/package/dmalloc/dmalloc.mk
index 638fe0fcda..8300cc7f19 100644
--- a/package/dmalloc/dmalloc.mk
+++ b/package/dmalloc/dmalloc.mk
@@ -14,11 +14,7 @@  DMALLOC_LICENSE_FILES = dmalloc.h.1
 
 DMALLOC_INSTALL_STAGING = YES
 DMALLOC_CONF_OPTS = --enable-shlib
-DMALLOC_CFLAGS = $(TARGET_CFLAGS)
-
-ifeq ($(BR2_STATIC_LIBS),)
-DMALLOC_CFLAGS += -fPIC
-endif
+DMALLOC_CFLAGS = $(TARGET_CFLAGS) -fPIC
 
 ifeq ($(BR2_INSTALL_LIBSTDCPP),y)
 DMALLOC_CONF_OPTS += --enable-cxx