From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Mailbox-Line: From vsl@ontil.ihep.su Wed Nov 12 18:18:45 2003 Date: Wed, 12 Nov 2003 19:18:10 +0300 (MSK) From: Vitaly Lugovsky To: ALT Devel discussion list Subject: Re: [devel] IA: eliminating TEXTRELocations In-Reply-To: <20031112150706.GA21043@basalt.office.altlinux.org> Message-ID: References: <20031108155731.GA21473@basalt.office.altlinux.org> <20031112150706.GA21043@basalt.office.altlinux.org> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=koi8-r Content-Transfer-Encoding: 8BIT X-Spam-Status: No, hits=2.8 required=5.0 tests=IN_REP_TO, QL_SENT_FROM_MY_DOMAINS version=2.20 X-Spam-Level: ** X-BeenThere: devel@altlinux.ru X-Mailman-Version: 2.1.3 Precedence: list Reply-To: ALT Devel discussion list List-Id: ALT Devel discussion list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 12 Nov 2003 15:18:48 -0000 Archived-At: List-Archive: List-Post: On Wed, 12 Nov 2003, Dmitry V. Levin wrote: > > Надо бы помнить, что шаренные объекты разное назначение имеют. > > Это и именно *разделяемая* библиотека, тогда всё сказанное > > справедливо, и ПЛАГИН, и просто *динамически подгружаемая* > > библиотека. > > Оно же всё равно разделяемое, т.е. может быть использовано > одновременно несколькими процессами. Вовсе не обязательно. > Разница только в способе загрузки. Не только. Разница именно в назначении. Тот же плагин может вообще быть динамически создан и скомпилирован приложением. Никто другой его и не увидит. > > Если компилятор вообще знает про PIC-код, если платформа не > > предусматривает НЕПРОСТИТЕЛЬНЫЙ оверхед на PIC-код, и т.п. > > Это всё общие слова. Это реальность... :( > > Есть. На дебильных x86 это дикий оверхед. Один регистр общего > > назначения - коту под хвост. При том, что их на этом > > калькуляторе-переростке и так не богато. > > Поскольку мы всё равно не можем исправить эту платформу (x86), > то критиковать её сейчас не имеет смысла. Можно обходить эту особенность архитектуры... > Компилятор (например, gcc) умеет оптимизировать использование > этого самого регистра. Не умеет... Результат жалок. Особо известный общественности пример - Perl. > > Дабы таскать бинарники по 5метров? Нюню. А ведь ещё и плагины > > бывают. > > Тогда их надо собирать правильно. Как правильно? > > НЕ НАДО! Пусть по умолчанию relaxed выключает обе проверки. > > А то всё ocaml-хозяйство опять пересобирать... > > Я могу сделать так, чтобы relaxed отключал обе проверки. Дык об этом я и прошу.