Linux 5.14 Drops Old DEC Alpha-Specific Binary Loader Used For x86 Binary Emulation
As a weekend blast from the past, the Linux 5.14 kernel saw some Alpha CPU architecture updates -- including various fixes and the removal of an Alpha-specific binary loader for running a decades dated x86 software emulator.
While past the merge window, the Linux 5.14 code this week has dropped "binfmt_em86" from the kernel. This is an Alpha binary loader for Linux focused on running i386/i486 binaries via the EM86 emulator in user-space. This was part of the effort for allowing Intel Linux x86 binaries back in the day to run on DEC Alpha hardware.
The EM86 emulator was focused on allowing Intel Linux programs to run on the hardware by emulating the x86 instruction set and a run-time environment akin to x86. EM86 was in development during the 90's by the Linux/Alpha team at DEC. Back in the late 90's EM86 was used for running Netscape Navigator, Adobe Acrobat Reader, and other software on Alpha systems.
EM86 hasn't seen a new release in two decades and the number of folks still relying on Alpha hardware especially with a mainline kernel would be particularly rare. Thus Linux 5.14 has dropped the binfmt_em86 code from the kernel. This binfmt_em86 code relies on EM86 in user-space and doesn't appear there is any modern users of this code.
In the rare event anyone is still relying on this kernel support for Intel x86 ELF binaries on DEC Alpha hardware, similar emulation can be achieved via using the binfmt_misc functionality and EM86 or QEMU.
The binfmt_em86 removal was part of this Alpha pull that also has other Alpha architecture fixes, a regression fix for some platforms, and a fix for "a scary-looking typo". That "scary looking" typo was a comma that should have been a semicolon within Alpha's copy_thread() code and dates back to a mistake made in 2012.
While past the merge window, the Linux 5.14 code this week has dropped "binfmt_em86" from the kernel. This is an Alpha binary loader for Linux focused on running i386/i486 binaries via the EM86 emulator in user-space. This was part of the effort for allowing Intel Linux x86 binaries back in the day to run on DEC Alpha hardware.
The EM86 emulator was focused on allowing Intel Linux programs to run on the hardware by emulating the x86 instruction set and a run-time environment akin to x86. EM86 was in development during the 90's by the Linux/Alpha team at DEC. Back in the late 90's EM86 was used for running Netscape Navigator, Adobe Acrobat Reader, and other software on Alpha systems.
EM86 hasn't seen a new release in two decades and the number of folks still relying on Alpha hardware especially with a mainline kernel would be particularly rare. Thus Linux 5.14 has dropped the binfmt_em86 code from the kernel. This binfmt_em86 code relies on EM86 in user-space and doesn't appear there is any modern users of this code.
In the rare event anyone is still relying on this kernel support for Intel x86 ELF binaries on DEC Alpha hardware, similar emulation can be achieved via using the binfmt_misc functionality and EM86 or QEMU.
The binfmt_em86 removal was part of this Alpha pull that also has other Alpha architecture fixes, a regression fix for some platforms, and a fix for "a scary-looking typo". That "scary looking" typo was a comma that should have been a semicolon within Alpha's copy_thread() code and dates back to a mistake made in 2012.
17 Comments