* [devel] PIE Executables
@ 2008-05-21 18:02 Led
2008-05-21 18:16 ` Led
` (2 more replies)
0 siblings, 3 replies; 20+ messages in thread
From: Led @ 2008-05-21 18:02 UTC (permalink / raw)
To: ALT Linux Team development discussions
Забавный случай:
$ 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" :(
Насколько я понял, это происходит из-за того, что этот бинарник линкуется
с -fpie. У нас этого делать нельзя?
--
Led
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [devel] PIE Executables
2008-05-21 18:02 [devel] PIE Executables Led
@ 2008-05-21 18:16 ` Led
2008-05-21 18:24 ` Andrey Rahmatullin
2008-05-21 19:21 ` Kirill A. Shutemov
2 siblings, 0 replies; 20+ messages in thread
From: Led @ 2008-05-21 18:16 UTC (permalink / raw)
To: ALT Linux Team development discussions
В сообщении от Wednesday 21 May 2008 21:02:42 Led написал(а):
> Забавный случай:
>
> $ 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" :(
> Насколько я понял, это происходит из-за того, что этот бинарник линкуется
> с -fpie.
Сорри, опечатался. Следует читать как "линкуется с -pie"
> У нас этого делать нельзя?
--
Led
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [devel] PIE Executables
2008-05-21 18:02 [devel] PIE Executables Led
2008-05-21 18:16 ` Led
@ 2008-05-21 18:24 ` Andrey Rahmatullin
2008-05-21 19:21 ` Kirill A. Shutemov
2 siblings, 0 replies; 20+ messages in thread
From: Andrey Rahmatullin @ 2008-05-21 18:24 UTC (permalink / raw)
To: devel
[-- Attachment #1: Type: text/plain, Size: 3258 bytes --]
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
$ file /usr/sbin/*|fgrep object
/usr/sbin/avctrl: ELF 32-bit LSB shared object, Intel
80386, version 1 (SYSV), for GNU/Linux 2.6.9, stripped
/usr/sbin/bccmd: ELF 32-bit LSB shared object, Intel
80386, version 1 (SYSV), for GNU/Linux 2.6.9, stripped
/usr/sbin/convertquota: ELF 32-bit LSB shared object, Intel
80386, version 1 (SYSV), for GNU/Linux 2.6.9, stripped
/usr/sbin/edquota: ELF 32-bit LSB shared object, Intel
80386, version 1 (SYSV), for GNU/Linux 2.6.9, stripped
/usr/sbin/hciattach: ELF 32-bit LSB shared object, Intel
80386, version 1 (SYSV), for GNU/Linux 2.6.9, stripped
/usr/sbin/hciconfig: ELF 32-bit LSB shared object, Intel
80386, version 1 (SYSV), for GNU/Linux 2.6.9, stripped
/usr/sbin/hcid: ELF 32-bit LSB shared object, Intel
80386, version 1 (SYSV), for GNU/Linux 2.6.9, stripped
/usr/sbin/hcidump: ELF 32-bit LSB shared object, Intel
80386, version 1 (SYSV), for GNU/Linux 2.6.9, stripped
/usr/sbin/hciemu: ELF 32-bit LSB shared object, Intel
80386, version 1 (SYSV), for GNU/Linux 2.6.9, stripped
/usr/sbin/hid2hci: ELF 32-bit LSB shared object, Intel
80386, version 1 (SYSV), for GNU/Linux 2.6.9, stripped
/usr/sbin/nmbd: ELF 32-bit LSB shared object, Intel
80386, version 1 (SYSV), for GNU/Linux 2.6.9, stripped
/usr/sbin/quot: ELF 32-bit LSB shared object, Intel
80386, version 1 (SYSV), for GNU/Linux 2.6.9, stripped
/usr/sbin/quotastats: ELF 32-bit LSB shared object, Intel
80386, version 1 (SYSV), for GNU/Linux 2.6.9, stripped
/usr/sbin/repquota: ELF 32-bit LSB shared object, Intel
80386, version 1 (SYSV), for GNU/Linux 2.6.9, stripped
/usr/sbin/rpc.rquotad: ELF 32-bit LSB shared object, Intel
80386, version 1 (SYSV), for GNU/Linux 2.6.9, stripped
/usr/sbin/setquota: ELF 32-bit LSB shared object, Intel
80386, version 1 (SYSV), for GNU/Linux 2.6.9, stripped
/usr/sbin/smbd: ELF 32-bit LSB shared object, Intel
80386, version 1 (SYSV), for GNU/Linux 2.6.9, stripped
/usr/sbin/warnquota: ELF 32-bit LSB shared object, Intel
80386, version 1 (SYSV), for GNU/Linux 2.6.9, stripped
/usr/sbin/winbindd: ELF 32-bit LSB shared object, Intel
80386, version 1 (SYSV), for GNU/Linux 2.6.9, stripped
/usr/sbin/xinetd: ELF 32-bit LSB shared object, Intel
80386, version 1 (SYSV), for GNU/Linux 2.6.9, stripped
/usr/sbin/xqmstats: ELF 32-bit LSB shared object, Intel
80386, version 1 (SYSV), for GNU/Linux 2.6.9, stripped
> Естественно, rpmbuild (fixup-libraries) делает ему "chmod 644" :(
O RLY?
--
WBR, wRAR (ALT Linux Team)
Powered by the ALT Linux fortune(8):
* Lost .oO(Линуксфест 2030: театрализованное представление по сценариям
классических народных фортунок)
[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 197 bytes --]
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [devel] PIE Executables
2008-05-21 18:02 [devel] PIE Executables Led
2008-05-21 18:16 ` Led
2008-05-21 18:24 ` Andrey Rahmatullin
@ 2008-05-21 19:21 ` Kirill A. Shutemov
2008-05-21 20:44 ` Led
2 siblings, 1 reply; 20+ messages in thread
From: Kirill A. Shutemov @ 2008-05-21 19:21 UTC (permalink / raw)
To: ALT Linux Team development discussions
[-- Attachment #1: Type: text/plain, Size: 1165 bytes --]
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.
> Насколько я понял, это происходит из-за того, что этот бинарник линкуется
> с -fpie. У нас этого делать нельзя?
-fpie -- это опция компилятора. Линковщику должа ещё передоваться -pie.
Как именно собирается бинарник? Можно лог?
--
Regards, Kirill A. Shutemov
+ Belarus, Minsk
+ ALT Linux Team, http://www.altlinux.com/
[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 197 bytes --]
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [devel] PIE Executables
2008-05-21 19:21 ` Kirill A. Shutemov
@ 2008-05-21 20:44 ` Led
2008-05-21 21:49 ` Dmitry V. Levin
0 siblings, 1 reply; 20+ messages in thread
From: Led @ 2008-05-21 20:44 UTC (permalink / raw)
To: ALT Linux Team development discussions
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.
Нет там такой эвристики.
>
> > Насколько я понял, это происходит из-за того, что этот бинарник линкуется
> > с -fpie. У нас этого делать нельзя?
>
> -fpie -- это опция компилятора. Линковщику должа ещё передоваться -pie.
> Как именно собирается бинарник? Можно лог?
Да, я опечатался: линкуется с -pie
--
Led
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [devel] PIE Executables
2008-05-21 20:44 ` Led
@ 2008-05-21 21:49 ` Dmitry V. Levin
2008-05-21 22:06 ` Led
0 siblings, 1 reply; 20+ messages in thread
From: Dmitry V. Levin @ 2008-05-21 21:49 UTC (permalink / raw)
To: ALT Linux Team development discussions
[-- Attachment #1: Type: text/plain, Size: 928 bytes --]
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.
>
> Нет там такой эвристики.
Я эту эвристику туда поместил. Если её оттуда не убрали, то она там есть.
Если бы её не было, то ничего бы не работало.
Маловероятно, но, возможно, эвристика дала сбой?
--
ldv
[-- Attachment #2: Type: application/pgp-signature, Size: 197 bytes --]
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [devel] PIE Executables
2008-05-21 21:49 ` Dmitry V. Levin
@ 2008-05-21 22:06 ` Led
2008-05-21 22:34 ` Led
2008-05-21 23:41 ` Dmitry V. Levin
0 siblings, 2 replies; 20+ messages in thread
From: Led @ 2008-05-21 22:06 UTC (permalink / raw)
To: ALT Linux Team development discussions
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 и соберите.
Мне не сложно, я могу легко оторвать -pie - потому и спроисил здесь (может у
нас rpmbuild ещё не умеет такое пропускать)
--
Led
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [devel] PIE Executables
2008-05-21 22:06 ` Led
@ 2008-05-21 22:34 ` Led
2008-05-21 23:41 ` Dmitry V. Levin
1 sibling, 0 replies; 20+ messages in thread
From: Led @ 2008-05-21 22:34 UTC (permalink / raw)
To: ALT Linux Team development discussions
Thursday, 22 May 2008 01:06:54 Led написав:
> 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.
Вот этот фрагмент:
+ /usr/lib/rpm/brp-alt
Cleaning files in /home/led/tmp/autofs-buildroot (auto)
mode of `./usr/sbin/automount' changed to 0644 (rw-r--r--)
mode of `./usr/lib64/autofs/mount_afs.so' changed to 0644 (rw-r--r--)
.... и т.д.
> Могу полный лог сборки прикрепить,
> если в рассылку пропустят. Или возьмите autofs-5.0.3 и соберите.
>
> Мне не сложно, я могу легко оторвать -pie - потому и спроисил здесь (может
> у нас rpmbuild ещё не умеет такое пропускать)
--
Led
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [devel] PIE Executables
2008-05-21 22:06 ` Led
2008-05-21 22:34 ` Led
@ 2008-05-21 23:41 ` Dmitry V. Levin
2008-05-22 0:04 ` Led
1 sibling, 1 reply; 20+ messages in thread
From: Dmitry V. Levin @ 2008-05-21 23:41 UTC (permalink / raw)
To: ALT Linux Team development discussions
[-- Attachment #1: Type: text/plain, Size: 1635 bytes --]
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 и соберите.
Где можно взять?
> Мне не сложно, я могу легко оторвать -pie - потому и спроисил здесь (может у
> нас rpmbuild ещё не умеет такое пропускать)
Умеет, не надо -pie отрывать.
--
ldv
[-- Attachment #2: Type: application/pgp-signature, Size: 197 bytes --]
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [devel] PIE Executables
2008-05-21 23:41 ` Dmitry V. Levin
@ 2008-05-22 0:04 ` Led
2008-05-22 5:02 ` Kirill A. Shutemov
0 siblings, 1 reply; 20+ messages in thread
From: Led @ 2008-05-22 0:04 UTC (permalink / raw)
To: ALT Linux Team development discussions
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
>
> > Мне не сложно, я могу легко оторвать -pie - потому и спроисил здесь
> > (может у нас rpmbuild ещё не умеет такое пропускать)
>
> Умеет, не надо -pie отрывать.
--
Led
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [devel] PIE Executables
2008-05-22 0:04 ` Led
@ 2008-05-22 5:02 ` Kirill A. Shutemov
2008-05-22 6:50 ` Led
0 siblings, 1 reply; 20+ messages in thread
From: Kirill A. Shutemov @ 2008-05-22 5:02 UTC (permalink / raw)
To: ALT Linux Team development discussions
[-- Attachment #1: Type: text/plain, Size: 2727 bytes --]
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/
[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 197 bytes --]
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [devel] PIE Executables
2008-05-22 5:02 ` Kirill A. Shutemov
@ 2008-05-22 6:50 ` Led
2008-05-22 7:14 ` Kirill A. Shutemov
2008-05-30 22:47 ` Dmitry V. Levin
0 siblings, 2 replies; 20+ messages in thread
From: Led @ 2008-05-22 6:50 UTC (permalink / raw)
To: ALT Linux Team development discussions
Thursday, 22 May 2008 08:02:03 Kirill A. Shutemov написав:
> 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.
Точно! Спасибо!
Надо бы это где-то задокументировать. Потому как ИМХО неочевидно, что strip
при сборке у нас, получается, недопустим :(
--
Led
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [devel] PIE Executables
2008-05-22 6:50 ` Led
@ 2008-05-22 7:14 ` Kirill A. Shutemov
2008-05-22 8:15 ` [devel] [JT] " Andrey Rahmatullin
2008-05-30 22:53 ` [devel] " Dmitry V. Levin
2008-05-30 22:47 ` Dmitry V. Levin
1 sibling, 2 replies; 20+ messages in thread
From: Kirill A. Shutemov @ 2008-05-22 7:14 UTC (permalink / raw)
To: ALT Linux Team development discussions
[-- Attachment #1: Type: text/plain, Size: 3432 bytes --]
On Thu, May 22, 2008 at 09:50:27AM +0300, Led wrote:
> Thursday, 22 May 2008 08:02:03 Kirill A. Shutemov написав:
> > 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.
>
> Точно! Спасибо!
> Надо бы это где-то задокументировать. Потому как ИМХО неочевидно, что strip
> при сборке у нас, получается, недопустим :(
Я считаю, что это слабость эвристики. Нужно что-то делать.
--
Regards, Kirill A. Shutemov
+ Belarus, Minsk
+ ALT Linux Team, http://www.altlinux.com/
[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 197 bytes --]
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [devel] [JT] PIE Executables
2008-05-22 7:14 ` Kirill A. Shutemov
@ 2008-05-22 8:15 ` Andrey Rahmatullin
2008-05-30 22:53 ` [devel] " Dmitry V. Levin
1 sibling, 0 replies; 20+ messages in thread
From: Andrey Rahmatullin @ 2008-05-22 8:15 UTC (permalink / raw)
To: devel
Итого 55 строк цитирования (из них 8 старых шапок!) и 1 строка ответа.
Прелестно.
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [devel] PIE Executables
2008-05-22 6:50 ` Led
2008-05-22 7:14 ` Kirill A. Shutemov
@ 2008-05-30 22:47 ` Dmitry V. Levin
2008-05-30 23:00 ` Led
1 sibling, 1 reply; 20+ messages in thread
From: Dmitry V. Levin @ 2008-05-30 22:47 UTC (permalink / raw)
To: ALT Linux Team development discussions
[-- Attachment #1: Type: text/plain, Size: 672 bytes --]
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
> при сборке у нас, получается, недопустим :(
У нас strip происходит автоматически по окончании %install, поэтому ручной
strip не нужен, а иногда бывает и вреден. Например, для debuginfo он
смертелен, поэтому FC/RH везде отпатчивают strip.
--
ldv
[-- Attachment #2: Type: application/pgp-signature, Size: 197 bytes --]
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [devel] PIE Executables
2008-05-22 7:14 ` Kirill A. Shutemov
2008-05-22 8:15 ` [devel] [JT] " Andrey Rahmatullin
@ 2008-05-30 22:53 ` Dmitry V. Levin
2008-05-31 8:54 ` Kirill A. Shutemov
1 sibling, 1 reply; 20+ messages in thread
From: Dmitry V. Levin @ 2008-05-30 22:53 UTC (permalink / raw)
To: ALT Linux Team development discussions
[-- Attachment #1: Type: text/plain, Size: 858 bytes --]
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
[-- Attachment #2: Type: application/pgp-signature, Size: 197 bytes --]
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [devel] PIE Executables
2008-05-30 22:47 ` Dmitry V. Levin
@ 2008-05-30 23:00 ` Led
2008-05-30 23:05 ` Dmitry V. Levin
0 siblings, 1 reply; 20+ messages in thread
From: Led @ 2008-05-30 23:00 UTC (permalink / raw)
To: ALT Linux Team development discussions
Saturday, 31 May 2008 01:47:44 Dmitry V. Levin написав:
> 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 при сборке у нас, получается, недопустим :(
>
> У нас strip происходит автоматически по окончании %install, поэтому ручной
> strip не нужен, а иногда бывает и вреден. Например, для debuginfo он
> смертелен, поэтому FC/RH везде отпатчивают strip.
ИМХО логично.
А у нас strip не срабатывает в %install, если
%def_with debug
или
%def_enable debug
?
--
Led
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [devel] PIE Executables
2008-05-30 23:00 ` Led
@ 2008-05-30 23:05 ` Dmitry V. Levin
0 siblings, 0 replies; 20+ messages in thread
From: Dmitry V. Levin @ 2008-05-30 23:05 UTC (permalink / raw)
To: ALT Linux Team development discussions
[-- Attachment #1: Type: text/plain, Size: 1062 bytes --]
On Sat, May 31, 2008 at 02:00:24AM +0300, Led wrote:
> Saturday, 31 May 2008 01:47:44 Dmitry V. Levin написав:
> > 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 при сборке у нас, получается, недопустим :(
> >
> > У нас strip происходит автоматически по окончании %install, поэтому ручной
> > strip не нужен, а иногда бывает и вреден. Например, для debuginfo он
> > смертелен, поэтому FC/RH везде отпатчивают strip.
>
> ИМХО логично.
> А у нас strip не срабатывает в %install, если
> %def_with debug
> или
> %def_enable debug
> ?
При включённом debug автоматический strip блокируется.
Есть ещё %set_strip_method и пр.
--
ldv
[-- Attachment #2: Type: application/pgp-signature, Size: 197 bytes --]
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [devel] PIE Executables
2008-05-30 22:53 ` [devel] " Dmitry V. Levin
@ 2008-05-31 8:54 ` Kirill A. Shutemov
2008-05-31 10:47 ` Dmitry V. Levin
0 siblings, 1 reply; 20+ messages in thread
From: Kirill A. Shutemov @ 2008-05-31 8:54 UTC (permalink / raw)
To: ALT Linux Team development discussions
[-- Attachment #1: Type: text/plain, Size: 1564 bytes --]
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 был
бы тривиальным?
--
Regards, Kirill A. Shutemov
+ Belarus, Minsk
+ ALT Linux Team, http://www.altlinux.com/
[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 197 bytes --]
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [devel] PIE Executables
2008-05-31 8:54 ` Kirill A. Shutemov
@ 2008-05-31 10:47 ` Dmitry V. Levin
0 siblings, 0 replies; 20+ messages in thread
From: Dmitry V. Levin @ 2008-05-31 10:47 UTC (permalink / raw)
To: ALT Linux Team development discussions
[-- Attachment #1: Type: text/plain, Size: 1225 bytes --]
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
[-- Attachment #2: Type: application/pgp-signature, Size: 197 bytes --]
^ permalink raw reply [flat|nested] 20+ messages in thread
end of thread, other threads:[~2008-05-31 10:47 UTC | newest]
Thread overview: 20+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2008-05-21 18:02 [devel] PIE Executables Led
2008-05-21 18:16 ` Led
2008-05-21 18:24 ` Andrey Rahmatullin
2008-05-21 19:21 ` Kirill A. Shutemov
2008-05-21 20:44 ` Led
2008-05-21 21:49 ` Dmitry V. Levin
2008-05-21 22:06 ` Led
2008-05-21 22:34 ` Led
2008-05-21 23:41 ` Dmitry V. Levin
2008-05-22 0:04 ` Led
2008-05-22 5:02 ` Kirill A. Shutemov
2008-05-22 6:50 ` Led
2008-05-22 7:14 ` Kirill A. Shutemov
2008-05-22 8:15 ` [devel] [JT] " Andrey Rahmatullin
2008-05-30 22:53 ` [devel] " Dmitry V. Levin
2008-05-31 8:54 ` Kirill A. Shutemov
2008-05-31 10:47 ` Dmitry V. Levin
2008-05-30 22:47 ` Dmitry V. Levin
2008-05-30 23:00 ` Led
2008-05-30 23:05 ` Dmitry V. Levin
ALT Linux Team development discussions
This inbox may be cloned and mirrored by anyone:
git clone --mirror http://lore.altlinux.org/devel/0 devel/git/0.git
# If you have public-inbox 1.1+ installed, you may
# initialize and index your mirror using the following commands:
public-inbox-init -V2 devel devel/ http://lore.altlinux.org/devel \
devel@altlinux.org devel@altlinux.ru devel@lists.altlinux.org devel@lists.altlinux.ru devel@linux.iplabs.ru mandrake-russian@linuxteam.iplabs.ru sisyphus@linuxteam.iplabs.ru
public-inbox-index devel
Example config snippet for mirrors.
Newsgroup available over NNTP:
nntp://lore.altlinux.org/org.altlinux.lists.devel
AGPL code for this site: git clone https://public-inbox.org/public-inbox.git