Como una explosión de fin de semana del pasado, el kernel de Linux 5.14 vio algunas actualizaciones de la arquitectura de la CPU Alpha, incluidas varias correcciones y la eliminación de un cargador binario específico de Alpha para ejecutar un emulador de software x86 con décadas de antigüedad.
Una vez pasada la ventana de combinación, el código de Linux 5.14 de esta semana ha eliminado”binfmt_em86″del kernel. Este es un cargador binario Alpha para Linux enfocado en ejecutar binarios i386/i486 a través del emulador EM86 en el espacio de usuario. Esto fue parte del esfuerzo para permitir que los binarios de Intel Linux x86 se ejecutaran en el hardware DEC Alpha.
El emulador EM86 se centró en permitir que los programas Intel Linux se ejecutaran en el hardware emulando el conjunto de instrucciones x86 y un entorno de tiempo de ejecución similar a x86. EM86 estuvo en desarrollo durante los años 90 por el equipo Linux/Alpha en DEC. A finales de los 90, EM86 se utilizó para ejecutar Netscape Navigator, Adobe Acrobat Reader y otro software en sistemas Alpha.
EM86 no ha visto una nueva versión en dos décadas y la cantidad de personas que todavía confían en el hardware Alpha, especialmente con un kernel de línea principal, sería particularmente rara. Por lo tanto, Linux 5.14 ha eliminado el binfmt_em86 código del kernel. Este código binfmt_em86 se basa en EM86 en el espacio de usuario y no parece que haya ningún usuario moderno de este código.
En el raro caso de que alguien todavía esté confiando en este soporte del kernel para los binarios Intel x86 ELF en hardware DEC Alpha, se puede lograr una emulación similar mediante el uso de la funcionalidad binfmt_misc y EM86 o QEMU.
La eliminación de binfmt_em86 fue parte de esta extracción de Alpha que también tiene otras correcciones de arquitectura Alpha, una regresión corrección para algunas plataformas y una corrección para”un error tipográfico de aspecto aterrador”. Ese error tipográfico”aterrador”era una coma que debería haber sido un punto y coma dentro del código copy_thread () de Alpha y se remonta a un error cometido en 2012.