On Thu, Dec 27, 2007 at 12:26:34PM +0300, Максим Иванов wrote: > В сообщении от Thursday 27 December 2007 12:14:11 Alexey Tourbin написал(а): > > > > > Когда собираем бинарник с опцией -shared (т.е. собираем .so), > > > > > позволительно ли включать в него объектники скомпиленные без -fpic? > > > > > > > > Нет. > > > > > > Где можно про это более конкретно почитать? > > > > Можно начать читать с glibc/elf/rtld.c. > > Вам не кажется, что если бы я обладал квалификацией С программиста > достаточной, чтобы разобраться в этом коде, то вопросов уровня "а с какими > опциями можно компилировать библиотеки" у меня бы не возникало впринципе? Можно ещё прочитать dsohowto.pdf. Если комплиировать *.o без -pic и компоновать -shared, то будут так называемые text relocations. i586 потенциально допускает text relocations, но в наш rpm-build встроена проверка, которая их не пропускает. На x86_64 вроде бы вообще нельзя делать text relocations в shared objects.