LINUX.ORG.RU
 
shutty

Поддержка FatELF в ядре


0

0

Райан Гордон в рассылке LKML представил патч, осуществляющий поддержку нового формата исполняемых файлов.

FatELF — это формат компоновки, позволяющий хранить в себе набор ELF бинарников под разные архитектуры, аналог технологии Universal Binary в MacOS X. Этот формат позволяет объединять в себе бинарные файлы, отличающиеся разными OS ABI, порядком байт, размером машинного слова и архитектурой процессора. Этот формат поддерживается преимущественно в среде GNU/Linux, но может быть использован и на других unix-like системах, например на BSD, Solaris и т.д.

Основные достоинства данного формата:

  • Дистрибутивы ОС могут иметь один единственный инсталлятор под все доступные платформы при наличии достаточного дискового пространства.
  • Нет необходимости иметь отдельные каталоги /lib, /lib32, /lib64.
  • Сторонние разработчики могут облегчить себе жизнь, публикуя только один deb/rpm пакет под все архитектуры.
  • Можно будет создавать плагины для браузеров и модули ядра, работающие на всех платформах.
  • Возможность создания приложений, бинарные файлы которых могут работать на Linux и FreeBSD без лишнего слоя совместимости.

>>> Оригинальное письмо в рассылке

>>> Сайт FatELF


[#]  

Поддержка FatELF в ядре

> Дистрибутивы ОС могут иметь один единственный инсталлятор под все доступные платформы при наличии достаточного дискового пространства.

Я так понимаю, это имеет смысл только для x86/x86_64. Если напихать туда код для всех поддерживаемых ядром архитектур, то никакого дискового пространства не напасёшься.

**** ()
[#]  

Поддержка FatELF в ядре

А с другой стороны, это облегчит написание проприетарщины, что не особо здорово.

**** ()
[#] Ответ на: Поддержка FatELF в ядре от Xenius 23.10.2009 10:45:02  
Aceler

Поддержка FatELF в ядре

Точнее, это облегчит написание ПО любыми ISV, работающими по любой модели, в том числе и по свободной.

***** ()
[#]  

Поддержка FatELF в ядре

А это одного меня терзают смутные сомнения по поводу того что с активным продвижением сабжа в массы эпидемии вирусных "друзей" появятся и в линуксах?

*** ()
[#] Ответ на: Поддержка FatELF в ядре от init_6 23.10.2009 10:56:35  
shutty

Re: Поддержка FatELF в ядре

Больше вирусов, хороших и разных. И под GPL.

* ()
[#]  
k0l0b0k

Поддержка FatELF в ядре

хм. назвали бы FatTROLL в честь Линуса )

** ()
[#]  

Поддержка FatELF в ядре

Сначала похмелФС, теперь вот Жирный эльф. Что дальше?

* ()
[#]  

Поддержка FatELF в ядре

Чтобы программа заработала и в Линуксе, и в БСД, надо чтобы и библиотеки на обеих системах были нужной версии.

**** ()
[#]  

Поддержка FatELF в ядре

На первый взгляд, идея кажется грамотной и благородной. На деле - чушь собачья. Вместе ликвидации зоопарка форматов и создания единого, общего простого стандарта, разработчик хочет склеить изолентой нагромождение из пары десятков бинарников. Это явно тупиковая ветвь. На мой взгляд, для всех дистрибутивов Linux на x86 должен быть один формат, на x64 другой, на ARM третий. Дистрибутив сам ставит свой пакет и основные зависимости. А, в итоге, все счастливы.

--- Песочник

anonymous ()
[#]  
Camel

Не хочу.

Эта штука нужна прежде всего для гнилой проприетарщины, так что Линус, скорее всего, включит её в ядро.

***** ()
[#] Ответ на: Поддержка FatELF в ядре от init_6 23.10.2009 10:56:35  
I_am_milk

Re: Поддержка FatELF в ядре

> А это одного меня терзают смутные сомнения по поводу того что с активным продвижением сабжа в массы эпидемии вирусных "друзей" появятся и в линуксах?

Дык линукс же безопасен не потому что не распространен, а потому что линукс? Или толпы линуксоидов не правы?

()
[#]  
vada

Поддержка FatELF в ядре

Здрасте вирусы :)

**** ()
[#]  
k0valenk0_igor

Поддержка FatELF в ядре

Благими намерениями вымощена дорога.... Если бинарники делать ДЕЙСТВИТЕЛЬНО подо все архитектуры, то то, чем так гордились линуксоиды ("у нас нет ничего лишнего!"), оказывается в ж...пе. А если дать возможность дистрибьюторам и компоновщикам пакетов выбирать что туда засунуть, то может получится каша с депенсами покруче нынешней! У одного пакета библиотека под одну архитектуру, у другой под другую, а по зависимостям им надо совместно работать, ибо альтернативы нет, а пакет который требует их обеих, напротив, есть? Так что ли?

* ()
[#]  
vada

Поддержка FatELF в ядре

Потом, с названием предстоят долгие суды с M$

**** ()
[#] Ответ на: Поддержка FatELF в ядре от Xenius 23.10.2009 10:45:02  

Поддержка FatELF в ядре

Столлман головного мозга детектед

*** ()
[#]  
Dimez

Поддержка FatELF в ядре

Не нужно. Даже вредно.

***** ()
[#]  

Поддержка FatELF в ядре

Надеюсь, здравый смысл возобладает, и эту хрень не примут в ядро.

*** ()
[#]  
Komintern

Поддержка FatELF в ядре

бред какой-то. надеюсь эту хню можно будет выключить при пересборке ядра?

***** ()
[#] Ответ на: Re: Поддержка FatELF в ядре от I_am_milk 23.10.2009 11:13:01  

Поддержка FatELF в ядре

>Дык линукс же безопасен не потому что не распространен, а потому что линукс? Или толпы линуксоидов не правы?

Не ну есть конечно варианты закрутить гайки так что мама не горюй... Я о другом. К примеру вот оно вошло в обиход. Убунты/федоры/суси и прочие мандривы применили это в своих дистрах... В данный момент новый дистр это препятствие эпидемии потому как хз что там может быть а с внедрением сабжа границы стираются окончательно.

*** ()
[#]  
Davidov

Поддержка FatELF в ядре

В то время как Apple с помпой выкидывает из Universal Binary старую архитектуру, некий Райан Гордон заново изобретает универсальные бинарники.

**** ()
[#]  

Поддержка FatELF в ядре

Таки рай на Земле?

** ()
[#]  

Поддержка FatELF в ядре

Ненужно. Все равно что соединить трактор и автобус в одно целое. В итоге получится монструозное поделие.

* ()
[#]  

Поддержка FatELF в ядре

А еще очевидно же что сабж спонсируют производители железа (процов, рамы и хардов) Вот именно им от сабжа будет самый огромный профит.

*** ()
[#]  
CryAngel

Поддержка FatELF в ядре

IMHO не нужно. Кроме MacOS этим вроде больше никто не пользуется, и я думаю это не даст особого профита. То, что открыто и не умерло, почти всегда можно пересобрать под нужную архитектуру.

()
[#] Ответ на: Поддержка FatELF в ядре от Davidov 23.10.2009 11:22:22  
Camel

Выкинуть.

>В то время как Apple с помпой выкидывает из Universal Binary старую архитектуру, некий Райан Гордон заново изобретает универсальные бинарники.

Хороший пример. Даже проприетарщикам универсальные бинарники не нравятся.

***** ()
[#] Ответ на: Поддержка FatELF в ядре от init_6 23.10.2009 11:20:39  
Komintern

Поддержка FatELF в ядре

> К примеру вот оно вошло в обиход. Убунты/федоры/суси и прочие мандривы применили это в своих дистрах

слаководам пох =) Патрик знает что делает, и мы в него верим.

***** ()
[#] Ответ на: Поддержка FatELF в ядре от anonymous 23.10.2009 11:10:59  
scaldov

Поддержка FatELF в ядре

>На первый взгляд, идея кажется грамотной и благородной. На деле - чушь собачья. Вместе ликвидации зоопарка форматов и создания единого, общего простого стандарта, разработчик хочет склеить изолентой нагромождение из пары десятков бинарников. Это явно тупиковая ветвь. На мой взгляд, для всех дистрибутивов Linux на x86 должен быть один формат, на x64 другой, на ARM третий. Дистрибутив сам ставит свой пакет и основные зависимости. А, в итоге, все счастливы.

согласен. заодно, в дистрах сделать каталоги типа /bin-$arch$ /lib-$arch$ и т.д. и сделать в управлениями пакетами возможность выбора архитектуры установки (обновления). по умолчанию система пакетов работает для текущей архитектуры, либо, для всех сразу.

** ()
[#]  
I-Love-Microsoft

Поддержка FatELF в ядре

Не будьте такими пессимистами! Как минимум это позволит создать универсальные инсталляторы софта, в том числе и свободного. Не уверен что в таком формате можно делать софт, а инсталлер в самый раз: вставил диск, а там отработал авторан и под любой ОС поднялся ^_^

Когда-нибудь вы это оцените...

**** ()
[#] Ответ на: Поддержка FatELF в ядре от Xenius 23.10.2009 10:45:02  
duott

Поддержка FatELF в ядре

>А с другой стороны, это облегчит написание проприетарщины, что не особо здорово.

Почему? У проприетарщиков будет одним поводом меньше отказываться от поддержки Linux.

** ()
[#] Ответ на: Поддержка FatELF в ядре от init_6 23.10.2009 11:20:39  

Поддержка FatELF в ядре

>В данный момент новый дистр это препятствие эпидемии потому как хз что там может быть а с внедрением сабжа границы стираются окончательно.

Логика супер. Давайте вообще шифровать бинари неким ID уникальным для каждого дистрибутива/версии, чтобы они гарантированно не запускались на других, чтоб уже наверняка.

*** ()
[#] Ответ на: Поддержка FatELF в ядре от I-Love-Microsoft 23.10.2009 11:31:17  

Поддержка FatELF в ядре

>Не будьте такими пессимистами! Как минимум это позволит создать универсальные инсталляторы софта, в том числе и свободного
Универсальный инсталлер, который запустится на любой архитектуре? Да, это хорошо. Но зачем мне на моей x86 в каждом бинарнике ещё и поддержка x86_64, arm, power, freebsd (тоже все архитектуры?), solaris итд? И во сколько раз больше будет такой бинарь? А вместо универсального инсталлера можно записать на диск или в архив инсталлеры для нужных архитектур и юзер выберет тот, который нужен именно ему (места занимать будет столько же).

*** ()
[#] Ответ на: Поддержка FatELF в ядре от duott 23.10.2009 11:35:12  

Поддержка FatELF в ядре

Правильно, сколько раз слышали "у нас нет столько денег, чтобы под все ваши линухи делать". Теперь можно будет их мордой тыкать.

* ()
[#] Ответ на: Поддержка FatELF в ядре от Aceler 23.10.2009 10:53:46  
madcore

Поддержка FatELF в ядре

>Это облегчит написание СПО.

Как распрастранение бинарных сборок может помочь в написании СПО?

***** ()
[#] Ответ на: Поддержка FatELF в ядре от Davidov 23.10.2009 11:22:22  
Dimez

Re: Поддержка FatELF в ядре

В Apple UB был нужен для безболезненной миграции с ppc на интель. Они растянули её на несколько лет, и сейчас, что естественно, убирают ppc-код из бинарей и перестают вообще поддерживать ppc (или уже перестали).

Плюсов от жирного эльфа в линукса можно на пальцах одной руки перечесть, а вот минусов - гораздо больше.

***** ()
[#] Ответ на: Поддержка FatELF в ядре от I-Love-Microsoft 23.10.2009 11:31:17  

Re: Поддержка FatELF в ядре

>Не будьте такими пессимистами! Как минимум это позволит создать универсальные инсталляторы софта, в том числе и свободного. Не уверен что в таком формате можно делать софт, а инсталлер в самый раз: вставил диск, а там отработал авторан и под любой ОС поднялся ^_^

Даешь универсальный ботнет каждому линуксоиду.

()
[#] Ответ на: Поддержка FatELF в ядре от I-Love-Microsoft 23.10.2009 11:31:17  
rymis

Поддержка FatELF в ядре

Универсальный установщик сделать намного проще:

#!/bin/sh

target_sys=`uname -s`
target_machine=`uname -m`
target_os=`uname -o`

target=$target_sys-$target_machine-$target_os

case $target in
Linux-i?86-*) prefix=./linux-x86
;;
....
esac

exec $prefix/install.bin

Места на диске не занимает, при загрузке mmap адресное пространство не расходует, ...

* ()
[#] Ответ на: Не хочу. от Camel 23.10.2009 11:11:29  
swar0g

Поддержка FatELF в ядре

>Эта штука нужна прежде всего для гнилой проприетарщины, так что Линус, скорее всего, включит её в ядро.

ты ведь можешь просто не поставить галочку в make menuconfig или написать blacklist fatelf

так что аргументы подобные этому - фейл

*** ()
[#]  
Mystra_x64

Поддержка FatELF в ядре

Вот и люди с безграничными интернетами, RAM и объёмами HDD подтянулись. Надеюсь, оно так и останется просто отдельным патчем и никто его не включит, ибо маразм. Зачем мне на x86_64 туча бинарников под x86_32, арм и чёрт его знает что ещё?

***** ()
[#] Ответ на: Поддержка FatELF в ядре от I-Love-Microsoft 23.10.2009 11:31:17  
Zodd

Re: Жжёте таварищъ

> Не будьте такими пессимистами! Как минимум это позволит создать универсальные инсталляторы софта, в том числе и свободного. Не уверен что в таком формате можно делать софт, а инсталлер в самый раз: вставил диск, а там отработал авторан и под любой ОС поднялся ^_^

Не хорошо людей так разводить на срач, ай-ай-ай.

*** ()
[#] Ответ на: Поддержка FatELF в ядре от scaldov 23.10.2009 11:27:45  
k0valenk0_igor

Поддержка FatELF в ядре

>>На первый взгляд, идея кажется грамотной и благородной. На деле - чушь собачья. Вместе ликвидации зоопарка форматов и создания единого, общего простого стандарта, разработчик хочет склеить изолентой нагромождение из пары десятков бинарников. Это явно тупиковая ветвь. На мой взгляд, для всех дистрибутивов Linux на x86 должен быть один формат, на x64 другой, на ARM третий. Дистрибутив сам ставит свой пакет и основные зависимости. А, в итоге, все счастливы.

>>согласен. заодно, в дистрах сделать каталоги типа /bin-$arch$ /lib-$arch$ и т.д. и сделать в управлениями пакетами возможность выбора архитектуры установки (обновления). по умолчанию система пакетов работает для текущей архитектуры, либо, для всех сразу.

В точку! +100 Сам об этом думал. Добавлю еще от себя предложение: детектить циклические зависимости пакетов и не допускать этого непотребства.

* ()
[#] Ответ на: Поддержка FatELF в ядре от swar0g 23.10.2009 11:50:07  
Camel

Аргументы подобные этому -- фейл.

>>Эта штука нужна прежде всего для гнилой проприетарщины, так что Линус, скорее всего, включит её в ядро.

>ты ведь можешь просто не поставить галочку в make menuconfig или написать blacklist fatelf


>так что аргументы подобные этому - фейл


Я-то могу. А NVIDIA(HP/Broadcom/вставить нужное) может продолжать выпускать своё ПО в не-fatELF'ах?

***** ()
[#]  

Поддержка FatELF в ядре

недостатком скоростей интернетов, мест на винтах не страдаю, но это маразм

PS: предлагаю делать так же, только для каждой архитектуры линковать все либы статически, даёшь треш в массы!

* ()
[#] Ответ на: Поддержка FatELF в ядре от init_6 23.10.2009 10:56:35  
Gukl

Поддержка FatELF в ядре

Нет связи. Сабж - очень праильна штука, реально упростит жизнь многим.

** ()
[#]  
I-Love-Microsoft

Поддержка FatELF в ядре

Универсальный установщик сделать намного проще: #!/bin/sh target_sys=`uname -s` target_machine=`uname -m` target_os=`uname -o`

И ведь... абсолютно верно! Только вот позавчера качал игру "Cube что-то там такое" - и там именно так и сделана поддержка Linux 32/64 одновременно - т.е. скриптом ^_^

Единственное, что осталось тогда сделать, это включение такого расширения файлов, которое всегда будет запускать программу. А то вот вчера некоторые виндузятники меня тыкали мордой что дескать чтобы запустить инсталлер Qt SDK в Linux-е надо там какие-то флаги выставлять... Я думаю что дурака все равно от вирусов не убережет, а остальным удобнее будет... Надо вот разве что это доделать... За честь ОС обидно...

**** ()
[#] Ответ на: Поддержка FatELF в ядре от I-Love-Microsoft 23.10.2009 11:57:51  

Поддержка FatELF в ядре

>включение такого расширения файлов, которое всегда будет запускать программу

chmod +x

()
[#] Ответ на: Поддержка FatELF в ядре от Laz 23.10.2009 11:39:22  
Aceler

Поддержка FatELF в ядре

> И во сколько раз больше будет такой бинарь?

Внезапно: основное место в программе занимают ресурсы, а не исполняемый код.

***** ()
[#] Ответ на: Поддержка FatELF в ядре от madcore 23.10.2009 11:43:50  
Aceler

Поддержка FatELF в ядре

> Как распрастранение бинарных сборок может помочь в написании СПО?

Зайди на сайт зимбры, подивись, сколько там пакетов под разные архитектуры и дистрибутивы. А будет один.

***** ()