ALT Linux Team development discussions
 help / color / mirror / Atom feed
* [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