Come un tuffo nel passato del fine settimana, il kernel Linux 5.14 ha visto alcuni aggiornamenti dell’architettura della CPU Alpha, tra cui varie correzioni e la rimozione di un caricatore binario specifico per Alpha per l’esecuzione di un emulatore software x86 datato decenni.
Durante la finestra di unione, il codice Linux 5.14 di questa settimana ha eliminato”binfmt_em86″dal kernel. Questo è un caricatore binario Alpha per Linux focalizzato sull’esecuzione di binari i386/i486 tramite l’emulatore EM86 nello spazio utente. Questo faceva parte dello sforzo per consentire ai binari Intel Linux x86 di funzionare su hardware DEC Alpha.
L’emulatore EM86 si è concentrato sul consentire l’esecuzione di programmi Intel Linux sull’hardware emulando il set di istruzioni x86 e un ambiente di runtime simile a x86. EM86 è stato sviluppato durante gli anni’90 dal team Linux/Alpha del DEC. Alla fine degli anni’90 EM86 è stato utilizzato per eseguire Netscape Navigator, Adobe Acrobat Reader e altri software sui sistemi Alpha.
EM86 non vede una nuova versione da due decenni e il numero di persone che ancora si affidano all’hardware Alpha, specialmente con un kernel principale, sarebbe particolarmente raro. Quindi Linux 5.14 ha rilasciato il binfmt_em86 codice dal kernel. Questo codice binfmt_em86 si basa su EM86 nello spazio utente e non sembra che ci siano utenti moderni di questo codice.
Nel raro caso qualcuno è ancora basandosi su questo supporto del kernel per i binari Intel x86 ELF su hardware DEC Alpha, un’emulazione simile può essere ottenuta utilizzando la funzionalità binfmt_misc e EM86 o QEMU.
La rimozione di binfmt_em86 faceva parte di questo pull Alpha che ha anche altre correzioni dell’architettura Alpha, una regressione correzione per alcune piattaforme e correzione per”un errore di battitura dall’aspetto spaventoso”. L’errore di battitura”dall’aspetto spaventoso”era una virgola che avrebbe dovuto essere un punto e virgola all’interno del codice copy_thread() di Alpha e risale a un errore commesso nel 2012.