On Thu, May 22, 2008 at 10:14:05AM +0300, Kirill A. Shutemov wrote: > On Thu, May 22, 2008 at 09:50:27AM +0300, Led wrote: > > Thursday, 22 May 2008 08:02:03 Kirill A. Shutemov написав: [...] > > > Эвристику ломает преждеверменный strip. Опция -s при линковке удаляет > > > символ __preinit_array_end по которому shared library отделяется от > > > position independed executable. > > > > Точно! Спасибо! > > Надо бы это где-то задокументировать. Потому как ИМХО неочевидно, что strip > > при сборке у нас, получается, недопустим :( > > Я считаю, что это слабость эвристики. Нужно что-то делать. Дело в том, что pic и pie объекты действительно слабо отличаются, см. напр. diff -u /usr/lib/ldscripts/elf_i386.x{s,d} Единственное, что можно попробовать, это проверку порядка секций, у pie objects .interp должна быть первой. -- ldv