diff mbox

[1/1] gcc: make sure we don't have a copy of libiberty.a in host library dir

Message ID 1437039568-22957-1-git-send-email-viallard@syscom-instruments.com
State Rejected
Headers show

Commit Message

Anthony Viallard July 16, 2015, 9:39 a.m. UTC
With old gcc version (like with 4.7.4), libiberty.a is copied to
library directory and it's not the behavior we want.

According to Arnout Vandecappelle, newer version of gcc
have fixed the problem. But if you choose gcc 4.7.X, the problem
is there. Therefore, I send this little patch which remove the
bad file after the build is finished.

Signed-off-by: Anthony Viallard <viallard@syscom-instruments.com>
---
 package/gcc/gcc-final/gcc-final.mk | 6 ++++++
 1 file changed, 6 insertions(+)

Comments

Romain Naour July 27, 2015, 2:38 p.m. UTC | #1
Hi Anthony,

Le 16/07/2015 11:39, Anthony Viallard a écrit :
> With old gcc version (like with 4.7.4), libiberty.a is copied to
> library directory and it's not the behavior we want.
> 
> According to Arnout Vandecappelle, newer version of gcc
> have fixed the problem. But if you choose gcc 4.7.X, the problem
> is there. Therefore, I send this little patch which remove the
> bad file after the build is finished.
> 
> Signed-off-by: Anthony Viallard <viallard@syscom-instruments.com>
> ---

Thanks for your patch!

I had the same issue with gcc-4.8 and I tried to fix it with the following
patches (which was rejected):

http://patchwork.ozlabs.org/patch/460494/
http://patchwork.ozlabs.org/patch/449686/

However, after some investigation, here is the right fix from upstream:
http://patchwork.ozlabs.org/patch/470531/

The --disable-install-libiberty option was broken, that's why the internal
libiberty.a was installed in HOST_DIR.

Hopefully, the same patch apply on gcc-4.7:
http://patchwork.ozlabs.org/patch/500445/

Care to test it ?

Best regards,
Romain Naour

>  package/gcc/gcc-final/gcc-final.mk | 6 ++++++
>  1 file changed, 6 insertions(+)
> 
> diff --git a/package/gcc/gcc-final/gcc-final.mk b/package/gcc/gcc-final/gcc-final.mk
> index 16bf4ee..2cce860 100644
> --- a/package/gcc/gcc-final/gcc-final.mk
> +++ b/package/gcc/gcc-final/gcc-final.mk
> @@ -185,6 +185,12 @@ endef
>  HOST_GCC_FINAL_POST_INSTALL_HOOKS += HOST_GCC_FINAL_INSTALL_USR_LIBS
>  endif
>  
> +define HOST_GCC_FINAL_RM_LIBIBERTY_A
> +	rm -f $(HOST_DIR)/usr/lib/libiberty.a
> +endef
> +
> +HOST_GCC_FINAL_POST_INSTALL_HOOKS += HOST_GCC_FINAL_RM_LIBIBERTY_A
> +
>  ifeq ($(BR2_xtensa),y)
>  HOST_GCC_FINAL_CONF_OPTS += --enable-cxx-flags="$(TARGET_ABI)"
>  endif
>
diff mbox

Patch

diff --git a/package/gcc/gcc-final/gcc-final.mk b/package/gcc/gcc-final/gcc-final.mk
index 16bf4ee..2cce860 100644
--- a/package/gcc/gcc-final/gcc-final.mk
+++ b/package/gcc/gcc-final/gcc-final.mk
@@ -185,6 +185,12 @@  endef
 HOST_GCC_FINAL_POST_INSTALL_HOOKS += HOST_GCC_FINAL_INSTALL_USR_LIBS
 endif
 
+define HOST_GCC_FINAL_RM_LIBIBERTY_A
+	rm -f $(HOST_DIR)/usr/lib/libiberty.a
+endef
+
+HOST_GCC_FINAL_POST_INSTALL_HOOKS += HOST_GCC_FINAL_RM_LIBIBERTY_A
+
 ifeq ($(BR2_xtensa),y)
 HOST_GCC_FINAL_CONF_OPTS += --enable-cxx-flags="$(TARGET_ABI)"
 endif