Show Your Support: Did you know that you can get Phoronix Premium for under $4 per month? Try it today to view our site ad-free, multi-page articles on a single page, and more while the proceeds allow us to write more Linux hardware reviews. At the very least, please disable your ad-blocker.
Linux 5.14 Drops Old DEC Alpha-Specific Binary Loader Used For x86 Binary Emulation
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.