[devel] IA: eliminating TEXTRELocations
Vitaly Lugovsky
=?iso-8859-1?q?vsl_=CE=C1_ontil=2Eihep=2Esu?=
Ср Ноя 12 19:18:10 MSK 2003
On Wed, 12 Nov 2003, Dmitry V. Levin wrote:
> > Надо бы помнить, что шаренные объекты разное назначение имеют.
> > Это и именно *разделяемая* библиотека, тогда всё сказанное
> > справедливо, и ПЛАГИН, и просто *динамически подгружаемая*
> > библиотека.
>
> Оно же всё равно разделяемое, т.е. может быть использовано
> одновременно несколькими процессами.
Вовсе не обязательно.
> Разница только в способе загрузки.
Не только. Разница именно в назначении. Тот же плагин может
вообще быть динамически создан и скомпилирован приложением. Никто
другой его и не увидит.
> > Если компилятор вообще знает про PIC-код, если платформа не
> > предусматривает НЕПРОСТИТЕЛЬНЫЙ оверхед на PIC-код, и т.п.
>
> Это всё общие слова.
Это реальность... :(
> > Есть. На дебильных x86 это дикий оверхед. Один регистр общего
> > назначения - коту под хвост. При том, что их на этом
> > калькуляторе-переростке и так не богато.
>
> Поскольку мы всё равно не можем исправить эту платформу (x86),
> то критиковать её сейчас не имеет смысла.
Можно обходить эту особенность архитектуры...
> Компилятор (например, gcc) умеет оптимизировать использование
> этого самого регистра.
Не умеет... Результат жалок. Особо известный общественности
пример - Perl.
> > Дабы таскать бинарники по 5метров? Нюню. А ведь ещё и плагины
> > бывают.
>
> Тогда их надо собирать правильно.
Как правильно?
> > НЕ НАДО! Пусть по умолчанию relaxed выключает обе проверки.
> > А то всё ocaml-хозяйство опять пересобирать...
>
> Я могу сделать так, чтобы relaxed отключал обе проверки.
Дык об этом я и прошу.
Подробная информация о списке рассылки Devel