2016-08-02 13 views
0

Возможно ли иметь файл ELF, содержащий исполняемые инструкции от двух ISA. У этого есть один файл ELF, который может быть запущен на двух архитектурах, например, x86 и PowerPC.Несколько ISA в том же файле ELF

Одним из примеров этого, который приходит на ум, является Apple Universal Binaries, которые использовались несколько лет назад. Есть ли способ добиться чего-то подобного в дистрибутиве Linux? Я столкнулся с проектом FatELF, который был направлен на это, но он, кажется, мертв

ответ

3

Это называется FAT binary. Те есть некоторые предложения, такие как FatELF, но AFAIK они не очень успешны.

BTW, большинство программ Linux - это бесплатное программное обеспечение, поэтому нет особого стимула для двоичных файлов FAT: если вы можете получить исходный код, вы можете скомпилировать программу из источника. Кроме того, бинарные файлы FAT действительно являются жирными (например, больше, чем обычные двоичные файлы), и вы будете потреблять больше полосы пропускания для их загрузки ....

Кроме того, на практике архитектуры процессоров сегодня гораздо менее разнообразны, чем 20 лет назад. В основном у нас в основном есть x86-64 (и ARM на планшетах).