Re: [PATCH 2/5] nolibc: add support for s390

From: Willy Tarreau
Date: Sat Dec 10 2022 - 04:38:02 EST


On Sat, Dec 10, 2022 at 10:34:08AM +0100, Sven Schnelle wrote:
> Whoops. One of my colleagues suggested that i should name the file
> arch-390x.h. Reason for this is that the architecture name "s390"
> describes the 31bit (compat) architecture mode in userspace, and "s390x"
> the 64 bit mode. To make it a bit more complicated, the architecture in
> the kernel is named "s390". That's because in the beginning the kernel
> could run in 31bit or 64 bit mode, and there can be only one
> architecture name. When support for running 31bit kernels was removed
> years ago, the architecture name s390 was kept because renaming the
> architecture would have been quite some fun. So in short:
>
> Kernel s390 == 64 bit only
> Userspace s390 == 31 bit
> Userspace s390x == 64 bit

OK, that might be why it's always a bit confusing to me :-)

> So i tried renaming the header file, noted that the Makefile just uses:
>
> nolibc_arch := $(patsubst arm64,aarch64,$(ARCH))
> arch_file := arch-$(nolibc_arch).h
>
> which would then need special handling. Obviously i failed to revert the
> change completely during rebase.
>
> So it should be:
>
> >> +#elif defined(__s390x__)
> >> +#include "arch-s390.h"
>
> I'm fine with both - either you fixing it up or me sending a v2.

As you like. If you prefer to rename the file to s390x as your colleague
suggested, I'll then ask you to send a v2. Otherwise either Paul or I can
drop that 'x' in the #include.

Thanks,
Willy