lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <ZtlQbpgpn9OQOPyI@1wt.eu>
Date: Thu, 5 Sep 2024 08:32:14 +0200
From: Willy Tarreau <w@....eu>
To: Thomas Weißschuh <linux@...ssschuh.net>
Cc: Shuah Khan <skhan@...uxfoundation.org>,
        "Paul E. McKenney" <paulmck@...nel.org>, linux-kernel@...r.kernel.org
Subject: Re: [GIT PULL] nolibc for 6.12-rc1

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.

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

Willy

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ