Re: [GIT PULL] nolibc for 6.12-rc1
From: Thomas Weißschuh
Date: Thu Sep 05 2024 - 11:57:33 EST
On 2024-09-05 08:32:14+0000, Willy Tarreau wrote:
> On Thu, Sep 05, 2024 at 08:22:18AM +0200, Willy Tarreau wrote:
> > >
> > > ./run-tests.sh -p -m user
> > >
> > > These toolchains can then also be used for direct "make" invocations
> > > through CROSS_COMPILE.
> >
> > I really suspect an empty CC variable somewhere that could explain why
> > only CROSS_COMPILE is used. I'll try to find time today to give it a
> > try here as well, just in case I can reproduce the same issue.
>
> In fact I'm getting it without any options:
>
> $ ./run-tests.sh
> realpath: /home/willy/.cache/crosstools/gcc-13.2.0-nolibc/i386-linux/bin/i386-linux-: No such file or directory
>
> It comes from here in test_arch():
>
> cross_compile=$(realpath "${download_location}gcc-${crosstool_version}-nolibc/${ct_arch}-${ct_abi}/bin/${ct_arch}-${ct_abi}-")
>
> Thus it's indeed related to the absence of the toolchain there. It's
> just that the way the error is reported (due to set -e) is a bit harsh.
Ack. It should not occur with "-p" though.
> What about this ?
>
> $ ./run-tests.sh
> No toolchain found in /home/willy/.cache/crosstools/gcc-13.2.0-nolibc/i386-linux.
> Did you install the toolchains or set the correct arch ? Rerun with -h for help.
> Aborting...
>
> or anything similar, achieved by this patch (warning copy-paste, mangled
> indents):
>
> diff --git a/tools/testing/selftests/nolibc/run-tests.sh b/tools/testing/selftests/nolibc/run-tests.sh
> index e7ecda4ae796..0f67e80051dc 100755
> --- a/tools/testing/selftests/nolibc/run-tests.sh
> +++ b/tools/testing/selftests/nolibc/run-tests.sh
> @@ -143,6 +143,13 @@ test_arch() {
> arch=$1
> ct_arch=$(crosstool_arch "$arch")
> ct_abi=$(crosstool_abi "$1")
> +
> + if [ ! -d "${download_location}gcc-${crosstool_version}-nolibc/${ct_arch}-${ct_abi}/bin/." ]; then
> + echo "No toolchain found in ${download_location}gcc-${crosstool_version}-nolibc/${ct_arch}-${ct_abi}."
> + echo "Did you install the toolchains or set the correct arch ? Rerun with -h for help."
> + return 1
> + fi
> +
> cross_compile=$(realpath "${download_location}gcc-${crosstool_version}-nolibc/${ct_arch}-${ct_abi}/bin/${ct_arch}-${ct_abi}-")
> build_dir="${build_location}/${arch}"
> if [ "$werror" -ne 0 ]; then
Looks good.