On Wed, Nov 12, 2003 at 07:18:10PM +0300, Vitaly Lugovsky wrote: > On Wed, 12 Nov 2003, Dmitry V. Levin wrote: > > > > Надо бы помнить, что шаренные объекты разное назначение имеют. > > > Это и именно *разделяемая* библиотека, тогда всё сказанное > > > справедливо, и ПЛАГИН, и просто *динамически подгружаемая* > > > библиотека. > > > > Оно же всё равно разделяемое, т.е. может быть использовано > > одновременно несколькими процессами. > > Вовсе не обязательно. > > > Разница только в способе загрузки. > > Не только. Разница именно в назначении. Тот же плагин может > вообще быть динамически создан и скомпилирован приложением. Никто > другой его и не увидит. В данном случае (ocaml) речь идёт о вполне разделяемых DSO. > > > Есть. На дебильных x86 это дикий оверхед. Один регистр общего > > > назначения - коту под хвост. При том, что их на этом > > > калькуляторе-переростке и так не богато. > > > > Поскольку мы всё равно не можем исправить эту платформу (x86), > > то критиковать её сейчас не имеет смысла. > > Можно обходить эту особенность архитектуры... > > > Компилятор (например, gcc) умеет оптимизировать использование > > этого самого регистра. > > Не умеет... Результат жалок. Особо известный общественности > пример - Perl. А что с ним не так? > > > Дабы таскать бинарники по 5метров? Нюню. А ведь ещё и плагины > > > бывают. > > > > Тогда их надо собирать правильно. > > Как правильно? Без text relocations; Ulrich Drepper утверждает, что ущерб от них в общем случае больше, чем выигрыш в производительности от не-PIC кода. > > > НЕ НАДО! Пусть по умолчанию relaxed выключает обе проверки. > > > А то всё ocaml-хозяйство опять пересобирать... > > > > Я могу сделать так, чтобы relaxed отключал обе проверки. > > Дык об этом я и прошу. Ok -- ldv