[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