Re: [GIT PULL] nolibc for 6.12-rc1
From: Willy Tarreau
Date: Thu Sep 05 2024 - 12:35:58 EST
On Thu, Sep 05, 2024 at 05:57:22PM +0200, Thomas Weißschuh wrote:
> 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.
Agreed, I was focusing on first experience for users essentially.
> > 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.
OK thanks, I'll try to handle it this week-end if I'm not beaten to
it. If you or Shuah want to merge it before, feel free to, no offense
on my side!
Cheers,
Willy