W dyskusji na temat kompatybilności wstecznej w jądrze Linuksa i interfejsach graficznych GUI , Alan Cox zauważa, że „ moje jądro 3.6rc będzie nadal uruchamiać fałszywy plik binarny zbudowany w 1992 roku. X jest z powrotem kompatybilny z aplikacjami znacznie starszymi niż Linux ”.
Więc w jaki sposób wstecznie kompatybilne są interfejsy binarne aplikacji Linux ?
Jaki jest najstarszy plik binarny, napisany i skompilowany przed laty, który nadal będzie działał na nowoczesnej standardowej dystrybucji Linuksa ogólnego przeznaczenia?
Jestem pewien, że wszystkie te słowa podlegają interpretacji. Moim głównym założeniem jest to, że uruchamianie go za pomocą emulatora lub specjalistycznej maszyny wirtualnej lub translatora binarnego jest niesprawiedliwe, ale niektóre z takich rzeczy są prawdopodobnie wbudowane w niektóre nowoczesne dystrybucje, a nauka o tym jest częścią zabawy.
Interesujące są również różnice w zależności od architektury sprzętowej, formatu pliku wykonywalnego , języka i głównych zależności dynamicznego ładowania biblioteki.
Uwaga: kiedy zasady są złagodzone, oto jeden przykład cofnięcia się. Strona 2002 web Running a.out wykonywalnych na nowoczesnych Red Hat Linux rozmów na temat korzystania naprawdę stary Linux pre-ELF-a.out formacie plików wykonywalnych po zrobieniu modprobe binfmt_aout
oraz uzyskania /lib/ld.so
i libc.so.4
znowu to interesujące obwodowych na to pytanie, ale ilustruje różne rzeczy, które może być zaangażowany w dalsze kopanie.
Aktualizacja dla was fanów BSD, wspaniale jest zobaczyć, że iBCS2 obsługiwał stare aplikacje Xenix (takie jak zork / dungeon-2.5.6 z 1990 r.) Oraz aplikacje SCO OpenServer 5.0.x, jak ostatnio NetBSD 4.0.1 (od 2008 r.): IBCS2 i NetBSD | Zabawa z wirtualizacją . Ale to samo wydaje się zepsute w NetBSD 5.0.x.
Aktualizacja 2 : Rok później, nawet po otrzymaniu plakietki „Spikera” na to pytanie, wciąż szukam odpowiedzi. Aby wyjaśnić, ponieważ chodzi o interfejsy API, powinien to być „prawdziwy” plik binarny (o niezerowej długości), który nadal przynajmniej w większości działa w oryginalny sposób.