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

Romain Naour romain.naour at openwide.fr
Mon Jul 27 14:38:09 UTC 2015


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




More information about the buildroot mailing list