Co si pamatuju, tak už v roce 1995 šlo při běžném použití vypnout podporu a.out a ponechat jen ELF. Zcela okrajově se čas od času řešily aplikace které fungovaly pod iBCS2 (https://www.linuxjournal.com/article/2809). Úplné maximum, na co už tehdejší uživatel linuxu narazil byly knihovny Motif (https://cs.wikipedia.org/wiki/Motif), tradičně nedostupné jako dynamické pro linux. (Takže jsme museli spouštět staticky slinkovaný Netscape Navigator, což byl opruz).
Neví někdo, proč se podpora a.out udržela až do teď? Byl k tomu nějaký důvod, nebo bylo prostě doposud jednoduché to v kódu nechat (píše se 500 řádcích)? (Např. formát COFF zmizel oproti a.out poměrně v zápětí).
Nejspíš s tím prostě dosud nebyly nějaké zásadní problémy, tak si toho nikdo nevšímal. Dokonce ani lovci CVE tam podle všeho nic zajímavého nenašli. A jak koukám do zdrojáků, podpora je stejně jen na i586, alpha a m68k, tedy samých obskurních architekturách, které už dávno nikdo soudný nepoužívá. :-)
Ještě bych snad poznamenal, že výchozí výstup z kompiléru, soubor a.out, má samozřejmě historicky stejné kořeny, jako formát a.out. Pokud se nepletu, už překladač K&R C produkoval mezikód assembleru, který se dál uložil jako a.out (assembler output).
Dnes zůstal výchozí výstup dál pojmenovaný a.out, i když je výstupní formát jiný (např. ELF), což byla úlitba pro kompatibilitu scriptům, které s a.out výstupním souborem počítají (nesetkal jsem se), přestože formát používaný systémem je už novější.