Linux 6.8 Default-Disabling 31-bit Enterprise System Architecture ELF Binary Support
A second batch of s390 architecture changes were sent out today for the ongoing Linux 6.8 merge window.
Earlier in the Linux 6.8 merge window was the change to the syscall generic entry code that by leveraging always-inlining of the syscall entry/exit functions that ~11% higher performance for syscall entries on this new kernel. Another notable s390 change for Linux 6.8 now is the default disabling of the 31-bit Enterprise System Architecture (ESA) ELF binary support.
The IBM Enterprise Systems Architecture (ESA) ISA originates to the late 80's. The Linux kernel no longer supports running on the old hardware and 31-bit ESA distributions are no longer around, but the kernel has maintained support for handling 31-bit ESA ELF binaries in user-space. But that too is working on being further phased out.
Up to now the Linux s390 kernel builds have default enabled the "COMPAT" option for enabling kernel support for 31-bit emulation but now that is no longer to be the case. On Linux 6.8+ the 31-bit compatibility support will be disabled by default. The patch changing the default noted:
That change to the 31-bit ESA ELF binary support was sent in today as part of these s390 patches along with various other fixes.
Earlier in the Linux 6.8 merge window was the change to the syscall generic entry code that by leveraging always-inlining of the syscall entry/exit functions that ~11% higher performance for syscall entries on this new kernel. Another notable s390 change for Linux 6.8 now is the default disabling of the 31-bit Enterprise System Architecture (ESA) ELF binary support.
The IBM Enterprise Systems Architecture (ESA) ISA originates to the late 80's. The Linux kernel no longer supports running on the old hardware and 31-bit ESA distributions are no longer around, but the kernel has maintained support for handling 31-bit ESA ELF binaries in user-space. But that too is working on being further phased out.
Up to now the Linux s390 kernel builds have default enabled the "COMPAT" option for enabling kernel support for 31-bit emulation but now that is no longer to be the case. On Linux 6.8+ the 31-bit compatibility support will be disabled by default. The patch changing the default noted:
31 bit support has been removed from the kernel more than eight years ago. The last 31 bit distribution is many years older. There shouldn't be any 31 bit code around anymore.
Therefore avoid providing an unused and only partially tested user space interface and change the default for CONFIG_COMPAT from "yes" to "no".
That change to the 31-bit ESA ELF binary support was sent in today as part of these s390 patches along with various other fixes.
6 Comments