Deprecation of s390-32 in glibc
Stefan Liebler
stli@linux.ibm.com
Tue Dec 2 09:49:31 GMT 2025
Hi,
The next linux kernel 6.19 is about to remove support for s390-32 compat
layer. See pull-request "[GIT PULL] s390 updates for 6.19 merge window"
https://lore.kernel.org/all/20251201102713.22472A5b-hca@linux.ibm.com/T/#u
list of commits:
https://git.kernel.org/pub/scm/linux/kernel/git/s390/linux.git/log/?h=s390-6.19-1
- Merge branch 'compat-removal'
- s390/syscalls: Switch to generic system call table generation
- s390/syscalls: Remove system call table pointer from thread_struct
- s390/uapi: Remove 31 bit support from uapi header files
- s390: Remove compat support
- tools: Remove s390 compat support
- s390/syscalls: Add pt_regs parameter to SYSCALL_DEFINE0() syscall wrapper
- s390/kvm: Use psw32_t instead of psw_compat_t
- s390/ptrace: Rename psw_t32 to psw32_t
>From toolchain perspective, we want to give s390-32 a proper
"deprecation" period and drop the support for 31bit in a coordinated
way. This means, the next GCC 16 release (expected in April 2026) will
deprecate 31bit support and then GCC 17 release (expected in April 2027)
will remove the "-m31" option.
For glibc, we would add a deprecation note in the NEWS file as soon as
the kernel 6.19 is released and remove the code with glibc 2.45
(expected February 2027).
Until the code is removed, we of course can also remove "s390-linux-gnu"
from build-many-glibcs.py script as newer kernel-versions don't have the
proper syscall-numbers in unistd.h and "build-many-glibcs.py
update-syscalls" would either fail or would even use the syscall numbers
from s390-64.
Do you have any comments and thoughts?
Thanks,
Stefan
More information about the Libc-alpha
mailing list