On Sat, May 31, 2008 at 11:54:23AM +0300, Kirill A. Shutemov wrote: > On Sat, May 31, 2008 at 02:53:18AM +0400, Dmitry V. Levin wrote: > > 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 должна быть первой. > > А может внести в эти ld-скрипты маркеры, по каторым детект pic vs. pie был > бы тривиальным? Этот детект уже сейчас тривиальный, если бы не strip. -- ldv