[devel] PIE Executables

Kirill A. Shutemov =?iso-8859-1?q?kirill_=CE=C1_shutemov=2Ename?=
Чт Май 22 09:02:03 MSD 2008


On Thu, May 22, 2008 at 03:04:58AM +0300, Led wrote:
> Thursday, 22 May 2008 02:41:59 Dmitry V. Levin написав:
> > On Thu, May 22, 2008 at 01:06:54AM +0300, Led wrote:
> > > Thursday, 22 May 2008 00:49:17 Dmitry V. Levin написав:
> > > > On Wed, May 21, 2008 at 11:44:39PM +0300, Led wrote:
> > > > > Wednesday, 21 May 2008 22:21:33 Kirill A. Shutemov написав:
> > > > > > On Wed, May 21, 2008 at 09:02:42PM +0300, Led wrote:
> > > > > > > Забавный случай:
> > > > > > >
> > > > > > > $ file ~/tmp/autofs-buildroot/usr/sbin/automount
> > > > > > > automount: ELF 64-bit LSB shared object, x86-64, version 1
> > > > > > > (SYSV), for GNU/Linux 2.6.9, stripped
> > > > > > >
> > > > > > > ?
> > > > > > > Естественно, rpmbuild (fixup-libraries) делает ему "chmod 644" :(
> > > > > >
> > > > > > Нет, это не естественно.
> > > > > > shared object -- это и shared library и position independed
> > > > > > executable. В fixup-libraries есть эвристика для отделения мух от
> > > > > > котлет. chmod, по идее, должен делаться только для shared library.
> > > > >
> > > > > Нет там такой эвристики.
> > > >
> > > > Я эту эвристику туда поместил.  Если её оттуда не убрали, то она там
> > > > есть. Если бы её не было, то ничего бы не работало.
> > > >
> > > > Маловероятно, но, возможно, эвристика дала сбой?
> > >
> > > Я ведь не придумал. Я поставил "затычки" перед fixup-libraries и после
> > > него. До fixup-libraries - 755, после 644. Да и на консоль выводит,
> > > что /usr/sbin/automount "чмодит" в 644. Могу полный лог сборки
> > > прикрепить,
> >
> > В этом нет смысла.
> >
> > > если в рассылку пропустят. Или возьмите autofs-5.0.3 и соберите.
> >
> > Где можно взять?
> 
> autofs-5.0.3-alt0.1.src.rpm в /i/D
> Для проявления эффекта заменить в спеке:
> -%make_build DAEMON_CFLAGS= DAEMON_LDFLAGS=
> +%make_build

Эвристику ломает преждеверменный strip. Опция -s при линковке удаляет
символ __preinit_array_end по которому shared library отделяется от
position independed executable.

-- 
Regards,  Kirill A. Shutemov
 + Belarus, Minsk
 + ALT Linux Team, http://www.altlinux.com/
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя     : =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Тип     : application/pgp-signature
Размер  : 197 байтов
Описание: Digital signature
Url     : <http://lists.altlinux.org/pipermail/devel/attachments/20080522/7ffae1cf/attachment-0002.bin>


Подробная информация о списке рассылки Devel