diff mbox series

[3/6] selftests/nolibc: use XARCH for MIPS

Message ID 20231105-nolibc-mips-be-v1-3-6c2ad3e50a1f@weissschuh.net (mailing list archive)
State New
Headers show
Series tools/nolibc: MIPS bugfixes and refactoring | expand

Commit Message

Thomas Weißschuh Nov. 5, 2023, 10:09 a.m. UTC
MIPS has many different configurations prepare the support of additional
ones by moving the build of MIPS to the generic XARCH infrastructure.

Signed-off-by: Thomas Weißschuh <linux@weissschuh.net>
---
 tools/testing/selftests/nolibc/Makefile     | 12 +++++++-----
 tools/testing/selftests/nolibc/run-tests.sh |  2 +-
 2 files changed, 8 insertions(+), 6 deletions(-)

Comments

Willy Tarreau Nov. 5, 2023, 10:32 a.m. UTC | #1
Hi Thomas,

On Sun, Nov 05, 2023 at 11:09:57AM +0100, Thomas Weißschuh wrote:
> MIPS has many different configurations prepare the support of additional
> ones by moving the build of MIPS to the generic XARCH infrastructure.
> 
> Signed-off-by: Thomas Weißschuh <linux@weissschuh.net>
> ---
>  tools/testing/selftests/nolibc/Makefile     | 12 +++++++-----
>  tools/testing/selftests/nolibc/run-tests.sh |  2 +-
>  2 files changed, 8 insertions(+), 6 deletions(-)
> 
> diff --git a/tools/testing/selftests/nolibc/Makefile b/tools/testing/selftests/nolibc/Makefile
> index c5df1617cbc3..15c12f3c27ba 100644
> --- a/tools/testing/selftests/nolibc/Makefile
> +++ b/tools/testing/selftests/nolibc/Makefile
> @@ -40,12 +40,14 @@ objtree ?= $(srctree)
>  
>  # configure default variants for target kernel supported architectures
>  XARCH_powerpc    = ppc
> +XARCH_mips       = mipso32le
>  XARCH            = $(or $(XARCH_$(ARCH)),$(ARCH))
>  
>  # map from user input variants to their kernel supported architectures
>  ARCH_ppc         = powerpc
>  ARCH_ppc64       = powerpc
>  ARCH_ppc64le     = powerpc
> +ARCH_mipso32le   = mips

I *think* that what you called "mipso32le" above corresponds exactly to
what is commonly called "mips32le" in toolchains or distros, because,
unless I'm mistaken, "mips32" currently uses the O32 ABI. So that would
sound more intuitive and natural I think.

Willy
Thomas Weißschuh Nov. 5, 2023, 10:49 a.m. UTC | #2
On 2023-11-05 11:32:27+0100, Willy Tarreau wrote:
> On Sun, Nov 05, 2023 at 11:09:57AM +0100, Thomas Weißschuh wrote:
> > MIPS has many different configurations prepare the support of additional
> > ones by moving the build of MIPS to the generic XARCH infrastructure.
> > 
> > Signed-off-by: Thomas Weißschuh <linux@weissschuh.net>
> > ---
> >  tools/testing/selftests/nolibc/Makefile     | 12 +++++++-----
> >  tools/testing/selftests/nolibc/run-tests.sh |  2 +-
> >  2 files changed, 8 insertions(+), 6 deletions(-)
> > 
> > diff --git a/tools/testing/selftests/nolibc/Makefile b/tools/testing/selftests/nolibc/Makefile
> > index c5df1617cbc3..15c12f3c27ba 100644
> > --- a/tools/testing/selftests/nolibc/Makefile
> > +++ b/tools/testing/selftests/nolibc/Makefile
> > @@ -40,12 +40,14 @@ objtree ?= $(srctree)
> >  
> >  # configure default variants for target kernel supported architectures
> >  XARCH_powerpc    = ppc
> > +XARCH_mips       = mipso32le
> >  XARCH            = $(or $(XARCH_$(ARCH)),$(ARCH))
> >  
> >  # map from user input variants to their kernel supported architectures
> >  ARCH_ppc         = powerpc
> >  ARCH_ppc64       = powerpc
> >  ARCH_ppc64le     = powerpc
> > +ARCH_mipso32le   = mips
> 
> I *think* that what you called "mipso32le" above corresponds exactly to
> what is commonly called "mips32le" in toolchains or distros, because,
> unless I'm mistaken, "mips32" currently uses the O32 ABI. So that would
> sound more intuitive and natural I think.

Ack.

I did the same for mipso32be -> mips32be.

Thomas
diff mbox series

Patch

diff --git a/tools/testing/selftests/nolibc/Makefile b/tools/testing/selftests/nolibc/Makefile
index c5df1617cbc3..15c12f3c27ba 100644
--- a/tools/testing/selftests/nolibc/Makefile
+++ b/tools/testing/selftests/nolibc/Makefile
@@ -40,12 +40,14 @@  objtree ?= $(srctree)
 
 # configure default variants for target kernel supported architectures
 XARCH_powerpc    = ppc
+XARCH_mips       = mipso32le
 XARCH            = $(or $(XARCH_$(ARCH)),$(ARCH))
 
 # map from user input variants to their kernel supported architectures
 ARCH_ppc         = powerpc
 ARCH_ppc64       = powerpc
 ARCH_ppc64le     = powerpc
+ARCH_mipso32le   = mips
 ARCH            := $(or $(ARCH_$(XARCH)),$(XARCH))
 
 # kernel image names by architecture
@@ -54,7 +56,7 @@  IMAGE_x86_64     = arch/x86/boot/bzImage
 IMAGE_x86        = arch/x86/boot/bzImage
 IMAGE_arm64      = arch/arm64/boot/Image
 IMAGE_arm        = arch/arm/boot/zImage
-IMAGE_mips       = vmlinuz
+IMAGE_mipso32le  = vmlinuz
 IMAGE_ppc        = vmlinux
 IMAGE_ppc64      = vmlinux
 IMAGE_ppc64le    = arch/powerpc/boot/zImage
@@ -70,7 +72,7 @@  DEFCONFIG_x86_64     = defconfig
 DEFCONFIG_x86        = defconfig
 DEFCONFIG_arm64      = defconfig
 DEFCONFIG_arm        = multi_v7_defconfig
-DEFCONFIG_mips       = malta_defconfig
+DEFCONFIG_mipso32le  = malta_defconfig
 DEFCONFIG_ppc        = pmac32_defconfig
 DEFCONFIG_ppc64      = powernv_be_defconfig
 DEFCONFIG_ppc64le    = powernv_defconfig
@@ -88,7 +90,7 @@  QEMU_ARCH_x86_64     = x86_64
 QEMU_ARCH_x86        = x86_64
 QEMU_ARCH_arm64      = aarch64
 QEMU_ARCH_arm        = arm
-QEMU_ARCH_mips       = mipsel  # works with malta_defconfig
+QEMU_ARCH_mipso32le  = mipsel  # works with malta_defconfig
 QEMU_ARCH_ppc        = ppc
 QEMU_ARCH_ppc64      = ppc64
 QEMU_ARCH_ppc64le    = ppc64
@@ -110,7 +112,7 @@  QEMU_ARGS_x86_64     = -M pc -append "console=ttyS0,9600 i8042.noaux panic=-1 $(
 QEMU_ARGS_x86        = -M pc -append "console=ttyS0,9600 i8042.noaux panic=-1 $(TEST:%=NOLIBC_TEST=%)"
 QEMU_ARGS_arm64      = -M virt -cpu cortex-a53 -append "panic=-1 $(TEST:%=NOLIBC_TEST=%)"
 QEMU_ARGS_arm        = -M virt -append "panic=-1 $(TEST:%=NOLIBC_TEST=%)"
-QEMU_ARGS_mips       = -M malta -append "panic=-1 $(TEST:%=NOLIBC_TEST=%)"
+QEMU_ARGS_mipso32le  = -M malta -append "panic=-1 $(TEST:%=NOLIBC_TEST=%)"
 QEMU_ARGS_ppc        = -M g3beige -append "console=ttyS0 panic=-1 $(TEST:%=NOLIBC_TEST=%)"
 QEMU_ARGS_ppc64      = -M powernv -append "console=hvc0 panic=-1 $(TEST:%=NOLIBC_TEST=%)"
 QEMU_ARGS_ppc64le    = -M powernv -append "console=hvc0 panic=-1 $(TEST:%=NOLIBC_TEST=%)"
@@ -134,7 +136,7 @@  CFLAGS_ppc = -m32 -mbig-endian -mno-vsx $(call cc-option,-mmultiple)
 CFLAGS_ppc64 = -m64 -mbig-endian -mno-vsx $(call cc-option,-mmultiple)
 CFLAGS_ppc64le = -m64 -mlittle-endian -mno-vsx $(call cc-option,-mabi=elfv2)
 CFLAGS_s390 = -m64
-CFLAGS_mips = -EL
+CFLAGS_mipso32le = -EL
 CFLAGS_STACKPROTECTOR ?= $(call cc-option,-mstack-protector-guard=global $(call cc-option,-fstack-protector-all))
 CFLAGS  ?= -Os -fno-ident -fno-asynchronous-unwind-tables -std=c89 -W -Wall -Wextra \
 		$(call cc-option,-fno-stack-protector) \
diff --git a/tools/testing/selftests/nolibc/run-tests.sh b/tools/testing/selftests/nolibc/run-tests.sh
index 1bf020d49f54..fb825c05031a 100755
--- a/tools/testing/selftests/nolibc/run-tests.sh
+++ b/tools/testing/selftests/nolibc/run-tests.sh
@@ -14,7 +14,7 @@  cache_dir="${XDG_CACHE_HOME:-"$HOME"/.cache}"
 download_location="${cache_dir}/crosstools/"
 build_location="$(realpath "${cache_dir}"/nolibc-tests/)"
 perform_download=0
-archs="i386 x86_64 arm64 arm mips ppc ppc64 ppc64le riscv s390 loongarch"
+archs="i386 x86_64 arm64 arm mipso32le ppc ppc64 ppc64le riscv s390 loongarch"
 
 TEMP=$(getopt -o 'j:d:c:b:a:ph' -n "$0" -- "$@")