[Buildroot] [PATCH] toolchain: handle toolchains with multiple ld*.so.* files

Jonah Petri jonah at petri.us
Tue Aug 24 20:35:36 UTC 2021


Sorry for the missing SOB - I will resubmit.  The instructions on 
https://buildroot.org/downloads/manual/manual.html#submitting-patches 
might need a modification, as I followed them precisely, I think! Expect 
a v2 shortly with a SOB.

Jonah

On 8/24/21 4:16 PM, Jonah Petri wrote:
> Some 3rd party vendor toolchains have multiple files which match
> these glob patterns.  In this case, the shell script failed.
> Switching to use find and xargs solves the issue.
> ---
>   toolchain/helpers.mk | 6 ++----
>   1 file changed, 2 insertions(+), 4 deletions(-)
>
> diff --git a/toolchain/helpers.mk b/toolchain/helpers.mk
> index dfb2581ed5..5ed149d57d 100644
> --- a/toolchain/helpers.mk
> +++ b/toolchain/helpers.mk
> @@ -135,10 +135,8 @@ copy_toolchain_sysroot = \
>   			$(call simplify_symlink,$$i,$(STAGING_DIR)) ; \
>   		done ; \
>   	fi ; \
> -	if [ ! -e $(STAGING_DIR)/lib/ld*.so.* ]; then \
> -		if [ -e $${ARCH_SYSROOT_DIR}/lib/ld*.so.* ]; then \
> -			cp -a $${ARCH_SYSROOT_DIR}/lib/ld*.so.* $(STAGING_DIR)/lib/ ; \
> -		fi ; \
> +       if ! find -wholename $(STAGING_DIR)'/lib/ld*.so.*' > /dev/null; then \
> +               find -wholename $${ARCH_SYSROOT_DIR}'/lib/ld*.so.*' -print0 | xargs -0 -I % cp % $(STAGING_DIR)/lib/; \
>   	fi ; \
>   	if [ `readlink -f $${SYSROOT_DIR}` != `readlink -f $${ARCH_SYSROOT_DIR}` ] ; then \
>   		if [ ! -d $${ARCH_SYSROOT_DIR}/usr/include ] ; then \


More information about the buildroot mailing list