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: <CAMuHMdUHBm_oiyeUumRc=avp+QCiCLZAfi0BvLwToAM3TumGmQ@mail.gmail.com>
Date: Tue, 6 Jan 2026 12:40:12 +0100
From: Geert Uytterhoeven <geert@...ux-m68k.org>
To: Thomas Weißschuh <linux@...ssschuh.net>
Cc: Willy Tarreau <w@....eu>, Shuah Khan <shuah@...nel.org>, linux-kselftest@...r.kernel.org, 
	linux-kernel@...r.kernel.org
Subject: Re: [PATCH] selftests/nolibc: fix sparc32 tests with -mcpu=v9

Hi Thomas,

On Sun, 4 Jan 2026 at 23:14, Thomas Weißschuh <linux@...ssschuh.net> wrote:
> Since LLVM commit 39e30508a7f6 ("[Driver][Sparc] Default to -mcpu=v9 for
> 32-bit Linux/sparc64 (#109278)"), clang defaults to -mcpu=v9 for 32-bit
> SPARC builds. -mcpu=v9 generates instructions which are not recognized
> by qemu-sparc and qemu-system-sparc. Instead qemu-sparc32plus and
> qemu-system-sparc64 with a 64-bit kernel and CONFIG_COMPAT are needed.
>
> Rework the test setup so that -mcpu=v9 also works correctly.
>
> Signed-off-by: Thomas Weißschuh <linux@...ssschuh.net>

Thanks for your patch!

> --- a/tools/testing/selftests/nolibc/Makefile.nolibc
> +++ b/tools/testing/selftests/nolibc/Makefile.nolibc
> @@ -117,7 +117,7 @@ DEFCONFIG_riscv32    = rv32_defconfig
>  DEFCONFIG_riscv64    = defconfig
>  DEFCONFIG_s390x      = defconfig
>  DEFCONFIG_loongarch  = defconfig
> -DEFCONFIG_sparc32    = sparc32_defconfig
> +DEFCONFIG_sparc32    = sparc64_defconfig

How can we test sparc32 using a 64-bit kernel?

>  DEFCONFIG_sparc64    = sparc64_defconfig
>  DEFCONFIG_m68k       = virt_defconfig
>  DEFCONFIG_sh4        = rts7751r2dplus_defconfig
> @@ -155,7 +155,7 @@ QEMU_ARCH_riscv32    = riscv32
>  QEMU_ARCH_riscv64    = riscv64
>  QEMU_ARCH_s390x      = s390x
>  QEMU_ARCH_loongarch  = loongarch64
> -QEMU_ARCH_sparc32    = sparc
> +QEMU_ARCH_sparc32    = sparc64
>  QEMU_ARCH_sparc64    = sparc64
>  QEMU_ARCH_m68k       = m68k
>  QEMU_ARCH_sh4        = sh4
> @@ -164,6 +164,7 @@ QEMU_ARCH            = $(QEMU_ARCH_$(XARCH))
>  QEMU_ARCH_USER_ppc64le = ppc64le
>  QEMU_ARCH_USER_mipsn32le = mipsn32el
>  QEMU_ARCH_USER_mipsn32be = mipsn32
> +QEMU_ARCH_USER_sparc32 = sparc32plus
>  QEMU_ARCH_USER         = $(or $(QEMU_ARCH_USER_$(XARCH)),$(QEMU_ARCH_$(XARCH)))
>
>  QEMU_BIOS_DIR = /usr/share/edk2/
> @@ -195,7 +196,7 @@ QEMU_ARGS_riscv32    = -M virt -append "console=ttyS0 panic=-1 $(TEST:%=NOLIBC_T
>  QEMU_ARGS_riscv64    = -M virt -append "console=ttyS0 panic=-1 $(TEST:%=NOLIBC_TEST=%)"
>  QEMU_ARGS_s390x      = -M s390-ccw-virtio -append "console=ttyS0 panic=-1 $(TEST:%=NOLIBC_TEST=%)"
>  QEMU_ARGS_loongarch  = -M virt -append "console=ttyS0,115200 panic=-1 $(TEST:%=NOLIBC_TEST=%)"
> -QEMU_ARGS_sparc32    = -M SS-5 -m 256M -append "console=ttyS0,115200 panic=-1 $(TEST:%=NOLIBC_TEST=%)"
> +QEMU_ARGS_sparc32    = -M sun4u -append "console=ttyS0,115200 panic=-1 $(TEST:%=NOLIBC_TEST=%)"
>  QEMU_ARGS_sparc64    = -M sun4u -append "console=ttyS0,115200 panic=-1 $(TEST:%=NOLIBC_TEST=%)"
>  QEMU_ARGS_m68k       = -M virt -append "console=ttyGF0,115200 panic=-1 $(TEST:%=NOLIBC_TEST=%)"
>  QEMU_ARGS_sh4        = -M r2d -serial file:/dev/stdout -append "console=ttySC1,115200 panic=-1 $(TEST:%=NOLIBC_TEST=%)"

Gr{oetje,eeting}s,

                        Geert

-- 
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@...ux-m68k.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
                                -- Linus Torvalds

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ