ALT Linux Team development discussions
 help / color / mirror / Atom feed
* [devel] Q: --no-add-needed
@ 2010-03-18 22:14 Kirill A. Shutemov
  2010-03-18 22:22 ` Dmitry V. Levin
  2010-03-19  0:36 ` Max Ivanov
  0 siblings, 2 replies; 41+ messages in thread
From: Kirill A. Shutemov @ 2010-03-18 22:14 UTC (permalink / raw)
  To: Dmitry V. Levin; +Cc: ALT Linux Team development discussions

There is potentially important change in gcc-4.4.3-5 from Fedora. IIUC, they
added --no-add-needed (AKA --no-copy-dt-needed-entries) to default
linker flags.

Dmitry, what is your opinion on this? Do we need this change in our
toolchain now? Do we needed testing rebuild of Sisyphus with this change
before integration into Sisyphus?


^ permalink raw reply	[flat|nested] 41+ messages in thread

* Re: [devel] Q: --no-add-needed
  2010-03-18 22:14 [devel] Q: --no-add-needed Kirill A. Shutemov
@ 2010-03-18 22:22 ` Dmitry V. Levin
  2010-03-19  0:36 ` Max Ivanov
  1 sibling, 0 replies; 41+ messages in thread
From: Dmitry V. Levin @ 2010-03-18 22:22 UTC (permalink / raw)
  To: ALT Linux Team development discussions

[-- Attachment #1: Type: text/plain, Size: 546 bytes --]

On Fri, Mar 19, 2010 at 12:14:14AM +0200, Kirill A. Shutemov wrote:
> There is potentially important change in gcc-4.4.3-5 from Fedora. IIUC, they
> added --no-add-needed (AKA --no-copy-dt-needed-entries) to default
> linker flags.

I'm not surprised.

> Dmitry, what is your opinion on this? Do we need this change in our
> toolchain now?

Yes, I think we also need it.

> Do we needed testing rebuild of Sisyphus with this change
> before integration into Sisyphus?

I hope regular weekend test rebuild is enough.


-- 
ldv

[-- Attachment #2: Type: application/pgp-signature, Size: 198 bytes --]

^ permalink raw reply	[flat|nested] 41+ messages in thread

* Re: [devel] Q: --no-add-needed
  2010-03-18 22:14 [devel] Q: --no-add-needed Kirill A. Shutemov
  2010-03-18 22:22 ` Dmitry V. Levin
@ 2010-03-19  0:36 ` Max Ivanov
  2010-03-19  8:40   ` Kirill A. Shutemov
  1 sibling, 1 reply; 41+ messages in thread
From: Max Ivanov @ 2010-03-19  0:36 UTC (permalink / raw)
  To: ALT Linux Team development discussions

> There is potentially important change in gcc-4.4.3-5 from Fedora. IIUC, they
> added --no-add-needed (AKA --no-copy-dt-needed-entries) to default
> linker flags.

What is expected consequences of this change?


^ permalink raw reply	[flat|nested] 41+ messages in thread

* Re: [devel] Q: --no-add-needed
  2010-03-19  0:36 ` Max Ivanov
@ 2010-03-19  8:40   ` Kirill A. Shutemov
  2010-03-19 12:29     ` Max Ivanov
  0 siblings, 1 reply; 41+ messages in thread
From: Kirill A. Shutemov @ 2010-03-19  8:40 UTC (permalink / raw)
  To: ALT Linux Team development discussions

2010/3/19 Max Ivanov <ivanov.maxim@gmail.com>:
>> There is potentially important change in gcc-4.4.3-5 from Fedora. IIUC, they
>> added --no-add-needed (AKA --no-copy-dt-needed-entries) to default
>> linker flags.
>
> What is expected consequences of this change?

For example, we have two libraries liba.so and libb.so. liba.so
provides symbol 'a':

$ cat liba.c
int a()
{
        return 1;
}
$ gcc -shared -fpic liba.c -o liba.so

libb.so provides symbol 'b' and links with liba.so

$ cat libb.c
int a(void);

int b()
{
        return a() + 1;
}
$ gcc -shared -fpic libb.c -o libb.so -L. -la
$ LD_LIBRARY_PATH=. ldd libb.so
        linux-gate.so.1 =>  (0xb77fc000)
        liba.so => ./liba.so (0xb77f5000)
        libc.so.6 => /lib/libc.so.6 (0xb768c000)
        /lib/ld-linux.so.2 (0xb77fd000)

Also, we have a program 'test' with want to use both symbols 'a' and
'b'. With --add-needed (by default, currently) you only need to link
it with libb.so to use both symbols 'a' and 'b', since libb linked
with liba.

$ cat test.c
#include <stdio.h>

int a(void);
int b(void);

int main()
{
        printf("a: %d, b: %d\n", a(), b());
        return 0;
}
$ LD_LIBRARY_PATH=. gcc test.c -o test -Wl,--add-needed -L. -lb
$ LD_LIBRARY_PATH=. ./test
a: 1, b: 2

With --no-add-needed you have to link with liba.so as well to use symbol 'a'

$ LD_LIBRARY_PATH=. gcc test.c -o test -Wl,--no-add-needed -L. -lb
/usr/bin/ld: /tmp/.private/kas/cc05FEHn.o: undefined reference to symbol 'a'
/usr/bin/ld: note: 'a' is defined in DSO ./liba.so so try adding it to
the linker command line
./liba.so: could not read symbols: Invalid operation
collect2: ld returned 1 exit status
$ LD_LIBRARY_PATH=. gcc test.c -o test -Wl,--no-add-needed -L. -lb -la
$ LD_LIBRARY_PATH=. ./test
a: 1, b: 2


^ permalink raw reply	[flat|nested] 41+ messages in thread

* Re: [devel] Q: --no-add-needed
  2010-03-19  8:40   ` Kirill A. Shutemov
@ 2010-03-19 12:29     ` Max Ivanov
  2010-03-19 12:51       ` Kirill A. Shutemov
  0 siblings, 1 reply; 41+ messages in thread
From: Max Ivanov @ 2010-03-19 12:29 UTC (permalink / raw)
  To: ALT Linux Team development discussions

> With --no-add-needed you have to link with liba.so as well to use symbol 'a'

What for? Does it save any CPU cycles or helps to reveal some hidden mistakes?


^ permalink raw reply	[flat|nested] 41+ messages in thread

* Re: [devel] Q: --no-add-needed
  2010-03-19 12:29     ` Max Ivanov
@ 2010-03-19 12:51       ` Kirill A. Shutemov
  2010-03-19 20:49         ` Dmitry V. Levin
  2010-03-21  9:54         ` Stanislav Ievlev
  0 siblings, 2 replies; 41+ messages in thread
From: Kirill A. Shutemov @ 2010-03-19 12:51 UTC (permalink / raw)
  To: ALT Linux Team development discussions

2010/3/19 Max Ivanov <ivanov.maxim@gmail.com>:
>> With --no-add-needed you have to link with liba.so as well to use symbol 'a'
>
> What for? Does it save any CPU cycles or helps to reveal some hidden mistakes?

https://fedoraproject.org/wiki/UnderstandingDSOLinkChange

Be patient. I'll announce it, when it will be ready.


^ permalink raw reply	[flat|nested] 41+ messages in thread

* Re: [devel] Q: --no-add-needed
  2010-03-19 12:51       ` Kirill A. Shutemov
@ 2010-03-19 20:49         ` Dmitry V. Levin
  2010-03-19 21:24           ` Kirill A. Shutemov
  2010-03-21  9:54         ` Stanislav Ievlev
  1 sibling, 1 reply; 41+ messages in thread
From: Dmitry V. Levin @ 2010-03-19 20:49 UTC (permalink / raw)
  To: ALT Linux Team development discussions

[-- Attachment #1: Type: text/plain, Size: 561 bytes --]

On Fri, Mar 19, 2010 at 02:51:20PM +0200, Kirill A. Shutemov wrote:
> 2010/3/19 Max Ivanov <ivanov.maxim@gmail.com>:
> >> With --no-add-needed you have to link with liba.so as well to use symbol 'a'
> >
> > What for? Does it save any CPU cycles or helps to reveal some hidden mistakes?
> 
> https://fedoraproject.org/wiki/UnderstandingDSOLinkChange
> 
> Be patient. I'll announce it, when it will be ready.

If you are going to submit the update very soon, I can tweak the schedule
of test rebuilds to delay the upcoming rebuild test.


-- 
ldv

[-- Attachment #2: Type: application/pgp-signature, Size: 198 bytes --]

^ permalink raw reply	[flat|nested] 41+ messages in thread

* Re: [devel] Q: --no-add-needed
  2010-03-19 20:49         ` Dmitry V. Levin
@ 2010-03-19 21:24           ` Kirill A. Shutemov
  0 siblings, 0 replies; 41+ messages in thread
From: Kirill A. Shutemov @ 2010-03-19 21:24 UTC (permalink / raw)
  To: ALT Linux Team development discussions

2010/3/19 Dmitry V. Levin <ldv@altlinux.org>:
> On Fri, Mar 19, 2010 at 02:51:20PM +0200, Kirill A. Shutemov wrote:
>> 2010/3/19 Max Ivanov <ivanov.maxim@gmail.com>:
>> >> With --no-add-needed you have to link with liba.so as well to use symbol 'a'
>> >
>> > What for? Does it save any CPU cycles or helps to reveal some hidden mistakes?
>>
>> https://fedoraproject.org/wiki/UnderstandingDSOLinkChange
>>
>> Be patient. I'll announce it, when it will be ready.
>
> If you are going to submit the update very soon, I can tweak the schedule
> of test rebuilds to delay the upcoming rebuild test.

No. I'm not sure when it will be ready. Let's do it next week.


^ permalink raw reply	[flat|nested] 41+ messages in thread

* Re: [devel] Q: --no-add-needed
  2010-03-19 12:51       ` Kirill A. Shutemov
  2010-03-19 20:49         ` Dmitry V. Levin
@ 2010-03-21  9:54         ` Stanislav Ievlev
  2010-03-21 10:02           ` Evgeny Sinelnikov
  1 sibling, 1 reply; 41+ messages in thread
From: Stanislav Ievlev @ 2010-03-21  9:54 UTC (permalink / raw)
  To: ALT Linux Team development discussions

Вместо того чтобы усовершенствовать систему библиотек откатывают
разработку на C на уровень прошлого столетия.


19 марта 2010 г. 15:51 пользователь Kirill A. Shutemov
<kirill@shutemov.name> написал:
> 2010/3/19 Max Ivanov <ivanov.maxim@gmail.com>:
>>> With --no-add-needed you have to link with liba.so as well to use symbol 'a'
>>
>> What for? Does it save any CPU cycles or helps to reveal some hidden mistakes?
>
> https://fedoraproject.org/wiki/UnderstandingDSOLinkChange
>
> Be patient. I'll announce it, when it will be ready.
> _______________________________________________
> Devel mailing list
> Devel@lists.altlinux.org
> https://lists.altlinux.org/mailman/listinfo/devel


^ permalink raw reply	[flat|nested] 41+ messages in thread

* Re: [devel] Q: --no-add-needed
  2010-03-21  9:54         ` Stanislav Ievlev
@ 2010-03-21 10:02           ` Evgeny Sinelnikov
  2010-03-21 10:04             ` Stanislav Ievlev
  0 siblings, 1 reply; 41+ messages in thread
From: Evgeny Sinelnikov @ 2010-03-21 10:02 UTC (permalink / raw)
  To: ALT Linux Team development discussions

21 марта 2010 г. 12:54 пользователь Stanislav Ievlev
<stanislav.ievlev@gmail.com> написал:
> Вместо того чтобы усовершенствовать систему библиотек откатывают
> разработку на C на уровень прошлого столетия.
>

А в чём регрессия? Что и как стоит усовершенствовать?


-- 
Sin (Sinelnikov Evgeny)

^ permalink raw reply	[flat|nested] 41+ messages in thread

* Re: [devel] Q: --no-add-needed
  2010-03-21 10:02           ` Evgeny Sinelnikov
@ 2010-03-21 10:04             ` Stanislav Ievlev
  2010-03-21 10:11               ` Andrey Rahmatullin
  0 siblings, 1 reply; 41+ messages in thread
From: Stanislav Ievlev @ 2010-03-21 10:04 UTC (permalink / raw)
  To: ALT Linux Team development discussions

21 марта 2010 г. 13:02 пользователь Evgeny Sinelnikov <sin@altlinux.ru> написал:
> 21 марта 2010 г. 12:54 пользователь Stanislav Ievlev
> <stanislav.ievlev@gmail.com> написал:
>> Вместо того чтобы усовершенствовать систему библиотек откатывают
>> разработку на C на уровень прошлого столетия.
>>
>
> А в чём регрессия? Что и как стоит усовершенствовать?
Я бы предпочёл не знать, с кем там линкуется библиотека, которую я использую.

^ permalink raw reply	[flat|nested] 41+ messages in thread

* Re: [devel] Q: --no-add-needed
  2010-03-21 10:04             ` Stanislav Ievlev
@ 2010-03-21 10:11               ` Andrey Rahmatullin
  2010-03-21 10:19                 ` Evgeny Sinelnikov
  2010-03-22 14:48                 ` [devel] Q: --no-add-needed Stanislav Ievlev
  0 siblings, 2 replies; 41+ messages in thread
From: Andrey Rahmatullin @ 2010-03-21 10:11 UTC (permalink / raw)
  To: devel

[-- Attachment #1: Type: text/plain, Size: 653 bytes --]

On Sun, Mar 21, 2010 at 01:04:53PM +0300, Stanislav Ievlev wrote:
> >> Вместо того чтобы усовершенствовать систему библиотек откатывают
> >> разработку на C на уровень прошлого столетия.
> > А в чём регрессия? Что и как стоит усовершенствовать?
> Я бы предпочёл не знать, с кем там линкуется библиотека, которую я использую.
А при чём тут? Речь о том, что если ты используешь библиотеку, тебе
обязательно надо линковаться с ней явно.

-- 
WBR, wRAR (ALT Linux Team)
Powered by the ALT Linux fortune(6):

> Ходят слухи, что Juniora больше не будет, а на смену ему придёт
> Compact.
Ходят форварды, что это не так.
		-- mike in community@

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 490 bytes --]

^ permalink raw reply	[flat|nested] 41+ messages in thread

* Re: [devel] Q: --no-add-needed
  2010-03-21 10:11               ` Andrey Rahmatullin
@ 2010-03-21 10:19                 ` Evgeny Sinelnikov
  2010-03-21 13:14                   ` [devel] Q: --copy-dt-needed-entries Dmitry V. Levin
  2010-03-22 14:48                 ` [devel] Q: --no-add-needed Stanislav Ievlev
  1 sibling, 1 reply; 41+ messages in thread
From: Evgeny Sinelnikov @ 2010-03-21 10:19 UTC (permalink / raw)
  To: ALT Linux Team development discussions

21 марта 2010 г. 13:11 пользователь Andrey Rahmatullin
<wrar@altlinux.ru> написал:
> On Sun, Mar 21, 2010 at 01:04:53PM +0300, Stanislav Ievlev wrote:
>> >> Вместо того чтобы усовершенствовать систему библиотек откатывают
>> >> разработку на C на уровень прошлого столетия.
>> > А в чём регрессия? Что и как стоит усовершенствовать?
>> Я бы предпочёл не знать, с кем там линкуется библиотека, которую я использую.

Так тут ведь и не предлагают знать. Наоборот, предлагают ещё и не
линковаться явно с той библиотекой, которую ты используешь, если её
использует другая библиотека, которую ты тоже используешь.

> А при чём тут? Речь о том, что если ты используешь библиотеку, тебе
> обязательно надо линковаться с ней явно.

Ну, да...

-- 
Sin (Sinelnikov Evgeny)

^ permalink raw reply	[flat|nested] 41+ messages in thread

* Re: [devel] Q: --copy-dt-needed-entries
  2010-03-21 10:19                 ` Evgeny Sinelnikov
@ 2010-03-21 13:14                   ` Dmitry V. Levin
  2010-03-21 14:51                     ` Alexey Tourbin
  0 siblings, 1 reply; 41+ messages in thread
From: Dmitry V. Levin @ 2010-03-21 13:14 UTC (permalink / raw)
  To: ALT Linux Team development discussions

[-- Attachment #1: Type: text/plain, Size: 1361 bytes --]

On Sun, Mar 21, 2010 at 01:19:10PM +0300, Evgeny Sinelnikov wrote:
> 21 марта 2010 г. 13:11 пользователь Andrey Rahmatullin написал:
> > On Sun, Mar 21, 2010 at 01:04:53PM +0300, Stanislav Ievlev wrote:
> >> >> Вместо того чтобы усовершенствовать систему библиотек откатывают
> >> >> разработку на C на уровень прошлого столетия.
> >> > А в чём регрессия? Что и как стоит усовершенствовать?
> >> Я бы предпочёл не знать, с кем там линкуется библиотека, которую я использую.
> 
> Так тут ведь и не предлагают знать. Наоборот, предлагают ещё и не
> линковаться явно с той библиотекой, которую ты используешь, если её
> использует другая библиотека, которую ты тоже используешь.
> 
> > А при чём тут? Речь о том, что если ты используешь библиотеку, тебе
> > обязательно надо линковаться с ней явно.
> 
> Ну, да...

--copy-dt-needed-entries можно рассматривать как дополнение к --as-needed:

Первый параметр заставляет линковать свою программу со всеми
библиотеками, котрые эта программа непосредственно использует.

Второй параметр не дает слинковать свою программу с библиотеками, которые
эта программа не использует непосредственно.

В результате программа должна получиться слинкованной с теми и только с
теми библиотеками, которые она непосредственно использует, т.е. должна
произойти правильная оптимальная линковка.


-- 
ldv

[-- Attachment #2: Type: application/pgp-signature, Size: 198 bytes --]

^ permalink raw reply	[flat|nested] 41+ messages in thread

* Re: [devel] Q: --copy-dt-needed-entries
  2010-03-21 13:14                   ` [devel] Q: --copy-dt-needed-entries Dmitry V. Levin
@ 2010-03-21 14:51                     ` Alexey Tourbin
  2010-03-21 15:34                       ` [devel] Q: --no-copy-dt-needed-entries Dmitry V. Levin
  0 siblings, 1 reply; 41+ messages in thread
From: Alexey Tourbin @ 2010-03-21 14:51 UTC (permalink / raw)
  To: ALT Linux Team development discussions

[-- Attachment #1: Type: text/plain, Size: 3754 bytes --]

On Sun, Mar 21, 2010 at 04:14:41PM +0300, Dmitry V. Levin wrote:
> On Sun, Mar 21, 2010 at 01:19:10PM +0300, Evgeny Sinelnikov wrote:
> > 21 марта 2010 г. 13:11 пользователь Andrey Rahmatullin написал:
> > > On Sun, Mar 21, 2010 at 01:04:53PM +0300, Stanislav Ievlev wrote:
> > >> >> Вместо того чтобы усовершенствовать систему библиотек откатывают
> > >> >> разработку на C на уровень прошлого столетия.
> > >> > А в чём регрессия? Что и как стоит усовершенствовать?
> > >> Я бы предпочёл не знать, с кем там линкуется библиотека, которую я использую.
> > 
> > Так тут ведь и не предлагают знать. Наоборот, предлагают ещё и не
> > линковаться явно с той библиотекой, которую ты используешь, если её
> > использует другая библиотека, которую ты тоже используешь.
> > 
> > > А при чём тут? Речь о том, что если ты используешь библиотеку, тебе
> > > обязательно надо линковаться с ней явно.
> > 
> > Ну, да...
> 
> --copy-dt-needed-entries можно рассматривать как дополнение к --as-needed:
> 
> Первый параметр заставляет линковать свою программу со всеми
> библиотеками, котрые эта программа непосредственно использует.

In ld(1) manpage, perhaps the description is not quite clear.  And we
should strive for very accurate wording in order to avoid a total mess.
(E.g. we'd better avoid anthropomorphic clauses like "zastavlyaet".)

|       --copy-dt-needed-entries
|       --no-copy-dt-needed-entries
|	   This  option  affects the treatment of dynamic libraries
|	   referred to by DT_NEEDED tags inside ELF dynamic libraries
|	   mentioned on the command line.  Normally the linker will add
|	   a DT_NEEDED tag to the output binary for each  library
|	   mentioned  in  a DT_NEEDED tag in an input dynamic library.

So, "normally" what's happening is something like a "shallow closure".
E.g. when I link with libgtk+2, glib2 is going to be linked in, too,
automatically.

|	   With --no-copy-dt-needed-entries specified on the command
|	   line however any dynamic libraries that follow it will have
|	   their DT_NEEDED entries ignored.  The default  behaviour can
|	   be restored with --copy-dt-needed-entries.

So --copy-dt-needed-entries is the default - which is to link in more
dependencies automatically;  --no-copy-dt-needed-entries reverts this
logic to its bare minimum - only what you specified on the command line
gets actually linked in (so you must specify e.g. both libgtk+2 and glib2).

|	  This option also has an effect on the resolution of symbols in
|	  dynamic libraries.  With the default setting dynamic libraries
|	  mentioned on the command line will be recursively searched,
|	  following  their  DT_NEEDED  tags  to  other libraries,  in
|	  order to resolve symbols required by the output binary.  With
|	  --no-copy-dt-needed-entries specified however the searching of
|	  dynamic libraries that follow it will stop with the dynamic
|	  library itself.  No  DT_NEEDED links will be traversed to
|	  resolve symbols.

Again, "this option also has an effect on the resolution of symbols"
is a poor wording.  Does this option affect only DT_NEEDED entries,
or does it also set some other flags in the output binary?  Does this
paragraph address the ld(1) behaviour or rather ld.so(8) behaviour?

> Второй параметр не дает слинковать свою программу с библиотеками, которые
> эта программа не использует непосредственно.
> 
> В результате программа должна получиться слинкованной с теми и только с
> теми библиотеками, которые она непосредственно использует, т.е. должна
> произойти правильная оптимальная линковка.

So, contrary to the initial message, with --as-needed on, there seems
to be NO REASON to enable --no-copy-dt-needed-entries by default.

[-- Attachment #2: Type: application/pgp-signature, Size: 198 bytes --]

^ permalink raw reply	[flat|nested] 41+ messages in thread

* Re: [devel] Q: --no-copy-dt-needed-entries
  2010-03-21 14:51                     ` Alexey Tourbin
@ 2010-03-21 15:34                       ` Dmitry V. Levin
  2010-03-21 19:18                         ` Alexey Tourbin
  2010-03-24 18:15                         ` Dmitry V. Levin
  0 siblings, 2 replies; 41+ messages in thread
From: Dmitry V. Levin @ 2010-03-21 15:34 UTC (permalink / raw)
  To: ALT Linux Team development discussions

[-- Attachment #1: Type: text/plain, Size: 4548 bytes --]

On Sun, Mar 21, 2010 at 05:51:13PM +0300, Alexey Tourbin wrote:
> On Sun, Mar 21, 2010 at 04:14:41PM +0300, Dmitry V. Levin wrote:
> > On Sun, Mar 21, 2010 at 01:19:10PM +0300, Evgeny Sinelnikov wrote:
> > > 21 марта 2010 г. 13:11 пользователь Andrey Rahmatullin написал:
> > > > On Sun, Mar 21, 2010 at 01:04:53PM +0300, Stanislav Ievlev wrote:
> > > >> >> Вместо того чтобы усовершенствовать систему библиотек откатывают
> > > >> >> разработку на C на уровень прошлого столетия.
> > > >> > А в чём регрессия? Что и как стоит усовершенствовать?
> > > >> Я бы предпочёл не знать, с кем там линкуется библиотека, которую я использую.
> > > 
> > > Так тут ведь и не предлагают знать. Наоборот, предлагают ещё и не
> > > линковаться явно с той библиотекой, которую ты используешь, если её
> > > использует другая библиотека, которую ты тоже используешь.
> > > 
> > > > А при чём тут? Речь о том, что если ты используешь библиотеку, тебе
> > > > обязательно надо линковаться с ней явно.
> > > 
> > > Ну, да...
> > 
> > --no-copy-dt-needed-entries можно рассматривать как дополнение к --as-needed:
> > 
> > Первый параметр заставляет линковать свою программу со всеми
> > библиотеками, котрые эта программа непосредственно использует.
> 
> In ld(1) manpage, perhaps the description is not quite clear.  And we
> should strive for very accurate wording in order to avoid a total mess.
> (E.g. we'd better avoid anthropomorphic clauses like "zastavlyaet".)

With --no-copy-dt-needed-entries in effect, each ELF output executable will
have to be linked with every library it uses directly.

> |       --copy-dt-needed-entries
> |       --no-copy-dt-needed-entries
> |	   This  option  affects the treatment of dynamic libraries
> |	   referred to by DT_NEEDED tags inside ELF dynamic libraries
> |	   mentioned on the command line.  Normally the linker will add
> |	   a DT_NEEDED tag to the output binary for each  library
> |	   mentioned  in  a DT_NEEDED tag in an input dynamic library.
> 
> So, "normally" what's happening is something like a "shallow closure".
> E.g. when I link with libgtk+2, glib2 is going to be linked in, too,
> automatically.
> 
> |	   With --no-copy-dt-needed-entries specified on the command
> |	   line however any dynamic libraries that follow it will have
> |	   their DT_NEEDED entries ignored.  The default  behaviour can
> |	   be restored with --copy-dt-needed-entries.
> 
> So --copy-dt-needed-entries is the default - which is to link in more
> dependencies automatically;  --no-copy-dt-needed-entries reverts this
> logic to its bare minimum - only what you specified on the command line
> gets actually linked in (so you must specify e.g. both libgtk+2 and glib2).

If your application doesn't use glib2, there is no need to link with
glib2.

> |	  This option also has an effect on the resolution of symbols in
> |	  dynamic libraries.  With the default setting dynamic libraries
> |	  mentioned on the command line will be recursively searched,
> |	  following  their  DT_NEEDED  tags  to  other libraries,  in
> |	  order to resolve symbols required by the output binary.  With
> |	  --no-copy-dt-needed-entries specified however the searching of
> |	  dynamic libraries that follow it will stop with the dynamic
> |	  library itself.  No  DT_NEEDED links will be traversed to
> |	  resolve symbols.
> 
> Again, "this option also has an effect on the resolution of symbols"
> is a poor wording.  Does this option affect only DT_NEEDED entries,
> or does it also set some other flags in the output binary?  Does this
> paragraph address the ld(1) behaviour or rather ld.so(8) behaviour?

The abovementioned options affects the ld(1) behaviour only.

> > Второй параметр не дает слинковать свою программу с библиотеками, которые
> > эта программа не использует непосредственно.
> > 
> > В результате программа должна получиться слинкованной с теми и только с
> > теми библиотеками, которые она непосредственно использует, т.е. должна
> > произойти правильная оптимальная линковка.
> 
> So, contrary to the initial message, with --as-needed on, there seems
> to be NO REASON to enable --no-copy-dt-needed-entries by default.

Just the opposite, there is a reason to link ELF executables with all
libraries they use directly.  Applications should be neither overlinked
nor underlinked.  The first problem is solved by --as-needed, the second
issue will be fixed by enabling --no-copy-dt-needed-entries by default.


-- 
ldv

[-- Attachment #2: Type: application/pgp-signature, Size: 198 bytes --]

^ permalink raw reply	[flat|nested] 41+ messages in thread

* Re: [devel] Q: --no-copy-dt-needed-entries
  2010-03-21 15:34                       ` [devel] Q: --no-copy-dt-needed-entries Dmitry V. Levin
@ 2010-03-21 19:18                         ` Alexey Tourbin
  2010-03-22  0:26                           ` Kirill A. Shutemov
  2010-03-22  7:23                           ` [devel] Q: --no-copy-dt-needed-entries. " Любит-не =?windows-1251?b?IOv+4ejy?=". И? Sergei Epiphanov
  2010-03-24 18:15                         ` Dmitry V. Levin
  1 sibling, 2 replies; 41+ messages in thread
From: Alexey Tourbin @ 2010-03-21 19:18 UTC (permalink / raw)
  To: ALT Linux Team development discussions

[-- Attachment #1: Type: text/plain, Size: 5427 bytes --]

On Sun, Mar 21, 2010 at 06:34:43PM +0300, Dmitry V. Levin wrote:
> > > --no-copy-dt-needed-entries можно рассматривать как дополнение к --as-needed:
> > > 
> > > Первый параметр заставляет линковать свою программу со всеми
> > > библиотеками, котрые эта программа непосредственно использует.
> > 
> > In ld(1) manpage, perhaps the description is not quite clear.  And we
> > should strive for very accurate wording in order to avoid a total mess.
> > (E.g. we'd better avoid anthropomorphic clauses like "zastavlyaet".)
> 
> With --no-copy-dt-needed-entries in effect, each ELF output executable will
> have to be linked with every library it uses directly.

I have to indicate that "will have to be linked" and "uses directly"
is still too vague and rather anthropomorphic language.

As far as I can see, there's no definite and formal description of
what these options are supposed to do.  (I haven't looked at the source
code yet.)

> > |       --copy-dt-needed-entries
> > |       --no-copy-dt-needed-entries
> > |	   This  option  affects the treatment of dynamic libraries
> > |	   referred to by DT_NEEDED tags inside ELF dynamic libraries
> > |	   mentioned on the command line.  Normally the linker will add
> > |	   a DT_NEEDED tag to the output binary for each  library
> > |	   mentioned  in  a DT_NEEDED tag in an input dynamic library.
> > 
> > So, "normally" what's happening is something like a "shallow closure".
> > E.g. when I link with libgtk+2, glib2 is going to be linked in, too,
> > automatically.
> > 
> > |	   With --no-copy-dt-needed-entries specified on the command
> > |	   line however any dynamic libraries that follow it will have
> > |	   their DT_NEEDED entries ignored.  The default  behaviour can
> > |	   be restored with --copy-dt-needed-entries.
> > 
> > So --copy-dt-needed-entries is the default - which is to link in more
> > dependencies automatically;  --no-copy-dt-needed-entries reverts this
> > logic to its bare minimum - only what you specified on the command line
> > gets actually linked in (so you must specify e.g. both libgtk+2 and glib2).
> 
> If your application doesn't use glib2, there is no need to link with
> glib2.

Again, "using" glib2 is just a poor wording - using glib2 API calls
in the source code is not exactly the same as linking with glib2 ABI.
For example, since libgtk+2 header files include glib2 header files,
glib2 ABI calls might happen inadvertently.  This is due to macros,
static inline functions etc.  So you may not even know that you're
"using" glib2.

Remember pkg-config issues and --disable-recursion flag.
This is just it.

$ pkg-config --disable-recursion --libs gtk+-2.0
-lgtk-x11-2.0
$ pkg-config --libs gtk+-2.0                    
-lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lgio-2.0 -lgdk_pixbuf-2.0 -lpangocairo-1.0 -lcairo -lpangoft2-1.0 -lpango-1.0 -lm -lfreetype -lfontconfig -lgobject-2.0 -lgmodule-2.0 -lglib-2.0  
$ 

So pkg-config makes a "closure" by default, based on additional
information from package configuration files.  ld(1) now does a similar
thing, "shallow closure" based on the information from the libraries
themselves.  Also remember once you told it is possible to recover *.la
files based on the information from corresponding *.so files alone.

> > |	  This option also has an effect on the resolution of symbols in
> > |	  dynamic libraries.  With the default setting dynamic libraries
> > |	  mentioned on the command line will be recursively searched,
> > |	  following  their  DT_NEEDED  tags  to  other libraries,  in
> > |	  order to resolve symbols required by the output binary.  With
> > |	  --no-copy-dt-needed-entries specified however the searching of
> > |	  dynamic libraries that follow it will stop with the dynamic
> > |	  library itself.  No  DT_NEEDED links will be traversed to
> > |	  resolve symbols.
> > 
> > Again, "this option also has an effect on the resolution of symbols"
> > is a poor wording.  Does this option affect only DT_NEEDED entries,
> > or does it also set some other flags in the output binary?  Does this
> > paragraph address the ld(1) behaviour or rather ld.so(8) behaviour?
> 
> The abovementioned options affects the ld(1) behaviour only.

They say "No DT_NEEDED links will be traversed to resolve symbols."
This is like, cool, you know.  Shall I believe it?

> > > Второй параметр не дает слинковать свою программу с библиотеками, которые
> > > эта программа не использует непосредственно.
> > > 
> > > В результате программа должна получиться слинкованной с теми и только с
> > > теми библиотеками, которые она непосредственно использует, т.е. должна
> > > произойти правильная оптимальная линковка.
> > 
> > So, contrary to the initial message, with --as-needed on, there seems
> > to be NO REASON to enable --no-copy-dt-needed-entries by default.
> 
> Just the opposite, there is a reason to link ELF executables with all
> libraries they use directly.  Applications should be neither overlinked
> nor underlinked.  The first problem is solved by --as-needed, the second
> issue will be fixed by enabling --no-copy-dt-needed-entries by default.

Give me a good reason, with examples, why we should change the default.
There was a good reason for --as-needed - extra dependencies and extra
lookup costs.  I see no good reason for --no-copy-dt-needed-entries.

[-- Attachment #2: Type: application/pgp-signature, Size: 198 bytes --]

^ permalink raw reply	[flat|nested] 41+ messages in thread

* Re: [devel] Q: --no-copy-dt-needed-entries
  2010-03-21 19:18                         ` Alexey Tourbin
@ 2010-03-22  0:26                           ` Kirill A. Shutemov
  2010-03-22  0:27                             ` Kirill A. Shutemov
  2010-03-22  8:11                             ` Alexey Tourbin
  2010-03-22  7:23                           ` [devel] Q: --no-copy-dt-needed-entries. " Любит-не =?windows-1251?b?IOv+4ejy?=". И? Sergei Epiphanov
  1 sibling, 2 replies; 41+ messages in thread
From: Kirill A. Shutemov @ 2010-03-22  0:26 UTC (permalink / raw)
  To: ALT Linux Team development discussions

2010/3/21 Alexey Tourbin <at@altlinux.ru>:
> Give me a good reason, with examples, why we should change the default.
> There was a good reason for --as-needed - extra dependencies and extra
> lookup costs.  I see no good reason for --no-copy-dt-needed-entries.

gold(1) behaves that way by default. AFAIK, Fedora goes to switch to it later.
So it's one of step of switching.


^ permalink raw reply	[flat|nested] 41+ messages in thread

* Re: [devel] Q: --no-copy-dt-needed-entries
  2010-03-22  0:26                           ` Kirill A. Shutemov
@ 2010-03-22  0:27                             ` Kirill A. Shutemov
  2010-03-22  8:11                             ` Alexey Tourbin
  1 sibling, 0 replies; 41+ messages in thread
From: Kirill A. Shutemov @ 2010-03-22  0:27 UTC (permalink / raw)
  To: ALT Linux Team development discussions

On Mon, Mar 22, 2010 at 2:26 AM, Kirill A. Shutemov
<kirill@shutemov.name> wrote:
> 2010/3/21 Alexey Tourbin <at@altlinux.ru>:
>> Give me a good reason, with examples, why we should change the default.
>> There was a good reason for --as-needed - extra dependencies and extra
>> lookup costs.  I see no good reason for --no-copy-dt-needed-entries.
>
> gold(1) behaves that way by default. AFAIK, Fedora goes to switch to it later.

s/goes/is going/

> So it's one of step of switching.
>


^ permalink raw reply	[flat|nested] 41+ messages in thread

* Re: [devel] Q: --no-copy-dt-needed-entries. " Любит-не =?windows-1251?b?IOv+4ejy?=". И?
  2010-03-21 19:18                         ` Alexey Tourbin
  2010-03-22  0:26                           ` Kirill A. Shutemov
@ 2010-03-22  7:23                           ` Sergei Epiphanov
  2010-03-22  7:28                             ` Kirill A. Shutemov
  1 sibling, 1 reply; 41+ messages in thread
From: Sergei Epiphanov @ 2010-03-22  7:23 UTC (permalink / raw)
  To: ALT Linux Team development discussions

Ещё на русском я всё это обсуждение могу воспринять. Но столько много слов на 
английском сходу не освоить, а времени на вдумчивое понимание и разбор 
идиоматических конструкций просто нет. :-)

Можно в двух словах на русском, что же делать мантейнерам и программистам?

-- 
С уважением, Епифанов Сергей

^ permalink raw reply	[flat|nested] 41+ messages in thread

* Re: [devel] Q: --no-copy-dt-needed-entries. " Любит-не =?windows-1251?b?IOv+4ejy?=". И?
  2010-03-22  7:23                           ` [devel] Q: --no-copy-dt-needed-entries. " Любит-не =?windows-1251?b?IOv+4ejy?=". И? Sergei Epiphanov
@ 2010-03-22  7:28                             ` Kirill A. Shutemov
  2010-03-22  8:23                               ` Alexey Tourbin
  0 siblings, 1 reply; 41+ messages in thread
From: Kirill A. Shutemov @ 2010-03-22  7:28 UTC (permalink / raw)
  To: ALT Linux Team development discussions

2010/3/22 Sergei Epiphanov <serpiph@nikiet.ru>:
> Ещё на русском я всё это обсуждение могу воспринять. Но столько много слов на
> английском сходу не освоить, а времени на вдумчивое понимание и разбор
> идиоматических конструкций просто нет. :-)
>
> Можно в двух словах на русском, что же делать мантейнерам и программистам?

Я анонсирую, когда всё будет готово. Нужно решить несколько проблем на
ARM сперва.

^ permalink raw reply	[flat|nested] 41+ messages in thread

* Re: [devel] Q: --no-copy-dt-needed-entries
  2010-03-22  0:26                           ` Kirill A. Shutemov
  2010-03-22  0:27                             ` Kirill A. Shutemov
@ 2010-03-22  8:11                             ` Alexey Tourbin
  2010-03-22 11:00                               ` Kirill A. Shutemov
  1 sibling, 1 reply; 41+ messages in thread
From: Alexey Tourbin @ 2010-03-22  8:11 UTC (permalink / raw)
  To: ALT Linux Team development discussions

[-- Attachment #1: Type: text/plain, Size: 705 bytes --]

On Mon, Mar 22, 2010 at 02:26:49AM +0200, Kirill A. Shutemov wrote:
> 2010/3/21 Alexey Tourbin <at@altlinux.ru>:
> > Give me a good reason, with examples, why we should change the default.
> > There was a good reason for --as-needed - extra dependencies and extra
> > lookup costs.  I see no good reason for --no-copy-dt-needed-entries.
> 
> gold(1) behaves that way by default. AFAIK, Fedora goes to switch to it later.
> So it's one of step of switching.

So a good reason to change the default is because of Fedora.  Because
they are going to change it, too!  Just not yet.  Maybe next week.

But as far as I know, Fedora did never enable --as-needed by default.
This makes a difference.

[-- Attachment #2: Type: application/pgp-signature, Size: 198 bytes --]

^ permalink raw reply	[flat|nested] 41+ messages in thread

* Re: [devel] Q: --no-copy-dt-needed-entries. " Любит-не =?windows-1251?b?IOv+4ejy?=". И?
  2010-03-22  7:28                             ` Kirill A. Shutemov
@ 2010-03-22  8:23                               ` Alexey Tourbin
  2010-03-24 18:04                                 ` [devel] Q: --no-copy-dt-needed-entries Dmitry V. Levin
  0 siblings, 1 reply; 41+ messages in thread
From: Alexey Tourbin @ 2010-03-22  8:23 UTC (permalink / raw)
  To: ALT Linux Team development discussions

[-- Attachment #1: Type: text/plain, Size: 606 bytes --]

On Mon, Mar 22, 2010 at 09:28:11AM +0200, Kirill A. Shutemov wrote:
> 2010/3/22 Sergei Epiphanov <serpiph@nikiet.ru>:
> > Ещё на русском я всё это обсуждение могу воспринять. Но столько много слов на
> > английском сходу не освоить, а времени на вдумчивое понимание и разбор
> > идиоматических конструкций просто нет. :-)
> >
> > Можно в двух словах на русском, что же делать мантейнерам и программистам?
> 
> Я анонсирую, когда всё будет готово. Нужно решить несколько проблем на
> ARM сперва.

Just don't do it - in conjunction with --as-needed, --copy-dt-needed-entries
is good by default.

[-- Attachment #2: Type: application/pgp-signature, Size: 198 bytes --]

^ permalink raw reply	[flat|nested] 41+ messages in thread

* Re: [devel] Q: --no-copy-dt-needed-entries
  2010-03-22  8:11                             ` Alexey Tourbin
@ 2010-03-22 11:00                               ` Kirill A. Shutemov
  2010-03-22 13:58                                 ` Alexey Tourbin
  2010-03-22 14:15                                 ` Sergei Epiphanov
  0 siblings, 2 replies; 41+ messages in thread
From: Kirill A. Shutemov @ 2010-03-22 11:00 UTC (permalink / raw)
  To: ALT Linux Team development discussions

2010/3/22 Alexey Tourbin <at@altlinux.ru>:
> On Mon, Mar 22, 2010 at 02:26:49AM +0200, Kirill A. Shutemov wrote:
>> 2010/3/21 Alexey Tourbin <at@altlinux.ru>:
>> > Give me a good reason, with examples, why we should change the default.
>> > There was a good reason for --as-needed - extra dependencies and extra
>> > lookup costs.  I see no good reason for --no-copy-dt-needed-entries.
>>
>> gold(1) behaves that way by default. AFAIK, Fedora goes to switch to it later.
>> So it's one of step of switching.
>
> So a good reason to change the default is because of Fedora.  Because
> they are going to change it, too!  Just not yet.  Maybe next week.

Alexey, what will we do when Fedora and other major distributions
switch to gold(1)?
We have three options:

1. Switch to gold too and fix all regressions in repository including
indirect linking issues.

2. Switch to gold, but add functionality for --copy-dt-needed-entries
which, probably, will never be upstreamed.

3. Do not switch to gold and use semi-supported gnu-ld.

> But as far as I know, Fedora did never enable --as-needed by default.
> This makes a difference.
>
> _______________________________________________
> Devel mailing list
> Devel@lists.altlinux.org
> https://lists.altlinux.org/mailman/listinfo/devel
>


^ permalink raw reply	[flat|nested] 41+ messages in thread

* Re: [devel] Q: --no-copy-dt-needed-entries
  2010-03-22 11:00                               ` Kirill A. Shutemov
@ 2010-03-22 13:58                                 ` Alexey Tourbin
  2010-03-22 15:41                                   ` Kirill A. Shutemov
  2010-03-22 14:15                                 ` Sergei Epiphanov
  1 sibling, 1 reply; 41+ messages in thread
From: Alexey Tourbin @ 2010-03-22 13:58 UTC (permalink / raw)
  To: ALT Linux Team development discussions

[-- Attachment #1: Type: text/plain, Size: 1175 bytes --]

On Mon, Mar 22, 2010 at 01:00:46PM +0200, Kirill A. Shutemov wrote:
> >> gold(1) behaves that way by default. AFAIK, Fedora goes to switch to it later.
> >> So it's one of step of switching.
> >
> > So a good reason to change the default is because of Fedora.  Because
> > they are going to change it, too!  Just not yet.  Maybe next week.
> 
> Alexey, what will we do when Fedora and other major distributions
> switch to gold(1)?

Do they?  https://fedoraproject.org/wiki/GoldLinking -
"may make it default linker in the future", with no schedule.

> We have three options:
> 
> 1. Switch to gold too and fix all regressions in repository including
> indirect linking issues.
> 
> 2. Switch to gold, but add functionality for --copy-dt-needed-entries
> which, probably, will never be upstreamed.

Quite an option.
http://sources.redhat.com/bugzilla/show_bug.cgi?id=10238

> 3. Do not switch to gold and use semi-supported gnu-ld.
> 
> > But as far as I know, Fedora did never enable --as-needed by default.
> > This makes a difference.

By the way, I'm not sure if gold(1) can do the --as-needed thing.
Probably we need to implement it, too.

[-- Attachment #2: Type: application/pgp-signature, Size: 198 bytes --]

^ permalink raw reply	[flat|nested] 41+ messages in thread

* Re: [devel] Q: --no-copy-dt-needed-entries
  2010-03-22 11:00                               ` Kirill A. Shutemov
  2010-03-22 13:58                                 ` Alexey Tourbin
@ 2010-03-22 14:15                                 ` Sergei Epiphanov
  2010-03-22 14:31                                   ` Vitaly Kuznetsov
  2010-03-22 14:41                                   ` Kirill A. Shutemov
  1 sibling, 2 replies; 41+ messages in thread
From: Sergei Epiphanov @ 2010-03-22 14:15 UTC (permalink / raw)
  To: ALT Linux Team development discussions

В сообщении от 22 марта 2010 14:00:46 автор Kirill A. Shutemov написал:
> Alexey, what will we do when Fedora and other major distributions
> switch to gold(1)?

You (and some other in this thread) refer to gold man page. But nothing is 
there. What is gold?

-- 
С уважением, Епифанов Сергей

^ permalink raw reply	[flat|nested] 41+ messages in thread

* Re: [devel] Q: --no-copy-dt-needed-entries
  2010-03-22 14:15                                 ` Sergei Epiphanov
@ 2010-03-22 14:31                                   ` Vitaly Kuznetsov
  2010-03-22 14:41                                   ` Kirill A. Shutemov
  1 sibling, 0 replies; 41+ messages in thread
From: Vitaly Kuznetsov @ 2010-03-22 14:31 UTC (permalink / raw)
  To: ALT Linux Team development discussions

Sergei Epiphanov <serpiph@nikiet.ru> writes:

> В сообщении от 22 марта 2010 14:00:46 автор Kirill A. Shutemov
> написал:
>> Alexey, what will we do when Fedora and other major distributions
>> switch to gold(1)?
>
> You (and some other in this thread) refer to gold man page. But
> nothing is there. What is gold?

I think wikipedia link is a bit more informative:
http://en.wikipedia.org/wiki/Gold_(linker)

;)

-- 
Vitaly Kuznetsov, ALT Linux


^ permalink raw reply	[flat|nested] 41+ messages in thread

* Re: [devel] Q: --no-copy-dt-needed-entries
  2010-03-22 14:15                                 ` Sergei Epiphanov
  2010-03-22 14:31                                   ` Vitaly Kuznetsov
@ 2010-03-22 14:41                                   ` Kirill A. Shutemov
  1 sibling, 0 replies; 41+ messages in thread
From: Kirill A. Shutemov @ 2010-03-22 14:41 UTC (permalink / raw)
  To: ALT Linux Team development discussions

2010/3/22 Sergei Epiphanov <serpiph@nikiet.ru>:
> В сообщении от 22 марта 2010 14:00:46 автор Kirill A. Shutemov написал:
>> Alexey, what will we do when Fedora and other major distributions
>> switch to gold(1)?
>
> You (and some other in this thread) refer to gold man page. But nothing is
> there. What is gold?

gold is an ELF linker written by Ian Lance Taylor. It's part of
binutils. It probably will substitute classic GNU ld on ELF targets in
future.


^ permalink raw reply	[flat|nested] 41+ messages in thread

* Re: [devel] Q: --no-add-needed
  2010-03-21 10:11               ` Andrey Rahmatullin
  2010-03-21 10:19                 ` Evgeny Sinelnikov
@ 2010-03-22 14:48                 ` Stanislav Ievlev
  1 sibling, 0 replies; 41+ messages in thread
From: Stanislav Ievlev @ 2010-03-22 14:48 UTC (permalink / raw)
  To: ALT Linux Team development discussions

21 марта 2010 г. 13:11 пользователь Andrey Rahmatullin
<wrar@altlinux.ru> написал:
> On Sun, Mar 21, 2010 at 01:04:53PM +0300, Stanislav Ievlev wrote:
>> >> Вместо того чтобы усовершенствовать систему библиотек откатывают
>> >> разработку на C на уровень прошлого столетия.
>> > А в чём регрессия? Что и как стоит усовершенствовать?
>> Я бы предпочёл не знать, с кем там линкуется библиотека, которую я использую.
> А при чём тут? Речь о том, что если ты используешь библиотеку, тебе
> обязательно надо линковаться с ней явно.
А ... понял.

^ permalink raw reply	[flat|nested] 41+ messages in thread

* Re: [devel] Q: --no-copy-dt-needed-entries
  2010-03-22 13:58                                 ` Alexey Tourbin
@ 2010-03-22 15:41                                   ` Kirill A. Shutemov
  2010-03-22 17:19                                     ` Alexey Tourbin
  0 siblings, 1 reply; 41+ messages in thread
From: Kirill A. Shutemov @ 2010-03-22 15:41 UTC (permalink / raw)
  To: ALT Linux Team development discussions

2010/3/22 Alexey Tourbin <at@altlinux.ru>:
> On Mon, Mar 22, 2010 at 01:00:46PM +0200, Kirill A. Shutemov wrote:
>> >> gold(1) behaves that way by default. AFAIK, Fedora goes to switch to it later.
>> >> So it's one of step of switching.
>> >
>> > So a good reason to change the default is because of Fedora.  Because
>> > they are going to change it, too!  Just not yet.  Maybe next week.
>>
>> Alexey, what will we do when Fedora and other major distributions
>> switch to gold(1)?
>
> Do they?  https://fedoraproject.org/wiki/GoldLinking -
> "may make it default linker in the future", with no schedule.

Do you think they rebuild packages with gold just for fun? ;)

>> We have three options:
>>
>> 1. Switch to gold too and fix all regressions in repository including
>> indirect linking issues.
>>
>> 2. Switch to gold, but add functionality for --copy-dt-needed-entries
>> which, probably, will never be upstreamed.
>
> Quite an option.
> http://sources.redhat.com/bugzilla/show_bug.cgi?id=10238
>
>> 3. Do not switch to gold and use semi-supported gnu-ld.
>>
>> > But as far as I know, Fedora did never enable --as-needed by default.
>> > This makes a difference.
>
> By the way, I'm not sure if gold(1) can do the --as-needed thing.
> Probably we need to implement it, too.

Yes, it can. It's default behavior. And it's not necessary to specify
libraries you want to link with at the end of command line.


^ permalink raw reply	[flat|nested] 41+ messages in thread

* Re: [devel] Q: --no-copy-dt-needed-entries
  2010-03-22 15:41                                   ` Kirill A. Shutemov
@ 2010-03-22 17:19                                     ` Alexey Tourbin
  2010-03-22 18:31                                       ` Kirill A. Shutemov
  0 siblings, 1 reply; 41+ messages in thread
From: Alexey Tourbin @ 2010-03-22 17:19 UTC (permalink / raw)
  To: ALT Linux Team development discussions

[-- Attachment #1: Type: text/plain, Size: 1660 bytes --]

On Mon, Mar 22, 2010 at 05:41:07PM +0200, Kirill A. Shutemov wrote:
> > Do they?  https://fedoraproject.org/wiki/GoldLinking -
> > "may make it default linker in the future", with no schedule.
> Do you think they rebuild packages with gold just for fun? ;)

This does not look solid:
https://fedoraproject.org/wiki/Features/ChangeInImplicitDSOLinking
"Dangerous default behaviour", blah-blah-blah.
I hope they have fun, though. :-)

> > By the way, I'm not sure if gold(1) can do the --as-needed thing.
> > Probably we need to implement it, too.
> 
> Yes, it can. It's default behavior. And it's not necessary to specify
> libraries you want to link with at the end of command line.

Can you please refer to a piece of source code where --as-needed logic
is implemented?  And is there an option like --no-as-needed then?

You see, generally there can be two ld modes.

1) Dumb mode: just do what you see on the command line.
You're just a special cat(1) for object files.
Resolving symbols is none of your business.

2) Smart mode: try to do the right thing.  Find implicit dependencies
and remove unused libraries, based on how symbols are resolved.

So the hallmark is whether a link editor should involve into resolving
symbols (at all).  The problem is that any implementation which supports
symbol versioning _has_ to resolve symbols (to make versioned references).
And since support for symbols is already there, it is hard to resist the
temptation to implement "smart options"...

I believe that "--as-need" + "--copy-dt-needed-entries" makes sense -
it's a smart mode, and it does the right thing, most of the time.

[-- Attachment #2: Type: application/pgp-signature, Size: 198 bytes --]

^ permalink raw reply	[flat|nested] 41+ messages in thread

* Re: [devel] Q: --no-copy-dt-needed-entries
  2010-03-22 17:19                                     ` Alexey Tourbin
@ 2010-03-22 18:31                                       ` Kirill A. Shutemov
  0 siblings, 0 replies; 41+ messages in thread
From: Kirill A. Shutemov @ 2010-03-22 18:31 UTC (permalink / raw)
  To: ALT Linux Team development discussions

2010/3/22 Alexey Tourbin <at@altlinux.ru>:
> On Mon, Mar 22, 2010 at 05:41:07PM +0200, Kirill A. Shutemov wrote:
>> > Do they?  https://fedoraproject.org/wiki/GoldLinking -
>> > "may make it default linker in the future", with no schedule.
>> Do you think they rebuild packages with gold just for fun? ;)
>
> This does not look solid:
> https://fedoraproject.org/wiki/Features/ChangeInImplicitDSOLinking
> "Dangerous default behaviour", blah-blah-blah.

Currently, valid changing of linking in a library may break building
of a package which links to it (directly or indirectly). And cause of
breakage will not be obvious..

> I hope they have fun, though. :-)
>
>> > By the way, I'm not sure if gold(1) can do the --as-needed thing.
>> > Probably we need to implement it, too.
>>
>> Yes, it can. It's default behavior. And it's not necessary to specify
>> libraries you want to link with at the end of command line.
>
> Can you please refer to a piece of source code where --as-needed logic
> is implemented?

See Layout::finish_dynamic_section() at layout.cc. I guess it's what you want.

> And is there an option like --no-as-needed then?

Yes. See General_options::as_needed.

>
> You see, generally there can be two ld modes.
>
> 1) Dumb mode: just do what you see on the command line.
> You're just a special cat(1) for object files.
> Resolving symbols is none of your business.
>
> 2) Smart mode: try to do the right thing.  Find implicit dependencies
> and remove unused libraries, based on how symbols are resolved.
>
> So the hallmark is whether a link editor should involve into resolving
> symbols (at all).  The problem is that any implementation which supports
> symbol versioning _has_ to resolve symbols (to make versioned references).
> And since support for symbols is already there, it is hard to resist the
> temptation to implement "smart options"...
>
> I believe that "--as-need" + "--copy-dt-needed-entries" makes sense -
> it's a smart mode, and it does the right thing, most of the time.

Reading the bug that you have specified, I have the impression that
--copy-dt-needed-entries is a hack in GNU ld to workaround buggy
software. Do you know a linker, except GNU ld, which provides simmilar
fuctionallity?

>
> _______________________________________________
> Devel mailing list
> Devel@lists.altlinux.org
> https://lists.altlinux.org/mailman/listinfo/devel
>


^ permalink raw reply	[flat|nested] 41+ messages in thread

* Re: [devel] Q: --no-copy-dt-needed-entries
  2010-03-22  8:23                               ` Alexey Tourbin
@ 2010-03-24 18:04                                 ` Dmitry V. Levin
  2010-03-24 18:24                                   ` Alexey Tourbin
  0 siblings, 1 reply; 41+ messages in thread
From: Dmitry V. Levin @ 2010-03-24 18:04 UTC (permalink / raw)
  To: ALT Linux Team development discussions

[-- Attachment #1: Type: text/plain, Size: 856 bytes --]

On Mon, Mar 22, 2010 at 11:23:01AM +0300, Alexey Tourbin wrote:
> On Mon, Mar 22, 2010 at 09:28:11AM +0200, Kirill A. Shutemov wrote:
> > 2010/3/22 Sergei Epiphanov <serpiph@nikiet.ru>:
> > > Ещё на русском я всё это обсуждение могу воспринять. Но столько много слов на
> > > английском сходу не освоить, а времени на вдумчивое понимание и разбор
> > > идиоматических конструкций просто нет. :-)
> > >
> > > Можно в двух словах на русском, что же делать мантейнерам и программистам?
> > 
> > Я анонсирую, когда всё будет готово. Нужно решить несколько проблем на
> > ARM сперва.
> 
> Just don't do it - in conjunction with --as-needed, --copy-dt-needed-entries
> is good by default.

Current --as-needed + --copy-dt-needed-entries combination works pretty
well, so let's delay changing this default until we face a real bug.


-- 
ldv

[-- Attachment #2: Type: application/pgp-signature, Size: 198 bytes --]

^ permalink raw reply	[flat|nested] 41+ messages in thread

* Re: [devel] Q: --no-copy-dt-needed-entries
  2010-03-21 15:34                       ` [devel] Q: --no-copy-dt-needed-entries Dmitry V. Levin
  2010-03-21 19:18                         ` Alexey Tourbin
@ 2010-03-24 18:15                         ` Dmitry V. Levin
  2010-03-24 18:24                           ` Kirill A. Shutemov
  1 sibling, 1 reply; 41+ messages in thread
From: Dmitry V. Levin @ 2010-03-24 18:15 UTC (permalink / raw)
  To: ALT Linux Team development discussions

[-- Attachment #1: Type: text/plain, Size: 791 bytes --]

On Sun, Mar 21, 2010 at 06:34:43PM +0300, Dmitry V. Levin wrote:
> On Sun, Mar 21, 2010 at 05:51:13PM +0300, Alexey Tourbin wrote:
[...]
> > So, contrary to the initial message, with --as-needed on, there seems
> > to be NO REASON to enable --no-copy-dt-needed-entries by default.
> 
> Just the opposite, there is a reason to link ELF executables with all
> libraries they use directly.  Applications should be neither overlinked
> nor underlinked.  The first problem is solved by --as-needed, the second
> issue will be fixed by enabling --no-copy-dt-needed-entries by default.

I was wrong, --copy-dt-needed-entries does not produce underlinked apps,
so I withdraw my proposal to change the default from --copy-dt-needed-entries
to --no-copy-dt-needed-entries.


-- 
ldv

[-- Attachment #2: Type: application/pgp-signature, Size: 198 bytes --]

^ permalink raw reply	[flat|nested] 41+ messages in thread

* Re: [devel] Q: --no-copy-dt-needed-entries
  2010-03-24 18:15                         ` Dmitry V. Levin
@ 2010-03-24 18:24                           ` Kirill A. Shutemov
  2010-03-24 18:28                             ` Dmitry V. Levin
  0 siblings, 1 reply; 41+ messages in thread
From: Kirill A. Shutemov @ 2010-03-24 18:24 UTC (permalink / raw)
  To: ALT Linux Team development discussions

2010/3/24 Dmitry V. Levin <ldv@altlinux.org>:
> On Sun, Mar 21, 2010 at 06:34:43PM +0300, Dmitry V. Levin wrote:
>> On Sun, Mar 21, 2010 at 05:51:13PM +0300, Alexey Tourbin wrote:
> [...]
>> > So, contrary to the initial message, with --as-needed on, there seems
>> > to be NO REASON to enable --no-copy-dt-needed-entries by default.
>>
>> Just the opposite, there is a reason to link ELF executables with all
>> libraries they use directly.  Applications should be neither overlinked
>> nor underlinked.  The first problem is solved by --as-needed, the second
>> issue will be fixed by enabling --no-copy-dt-needed-entries by default.
>
> I was wrong, --copy-dt-needed-entries does not produce underlinked apps,
> so I withdraw my proposal to change the default from --copy-dt-needed-entries
> to --no-copy-dt-needed-entries.

Dmitry, what do you think about gold? What will we do if Fedora
switches to gold. If we want to switch to gold too, we have to prepare
for it. --no-copy-dt-needed-entries is one of step of the preparing.


^ permalink raw reply	[flat|nested] 41+ messages in thread

* Re: [devel] Q: --no-copy-dt-needed-entries
  2010-03-24 18:04                                 ` [devel] Q: --no-copy-dt-needed-entries Dmitry V. Levin
@ 2010-03-24 18:24                                   ` Alexey Tourbin
  2010-03-24 19:01                                     ` Kirill A. Shutemov
  0 siblings, 1 reply; 41+ messages in thread
From: Alexey Tourbin @ 2010-03-24 18:24 UTC (permalink / raw)
  To: ALT Linux Team development discussions

[-- Attachment #1: Type: text/plain, Size: 1225 bytes --]

On Wed, Mar 24, 2010 at 09:04:48PM +0300, Dmitry V. Levin wrote:
> On Mon, Mar 22, 2010 at 11:23:01AM +0300, Alexey Tourbin wrote:
> > On Mon, Mar 22, 2010 at 09:28:11AM +0200, Kirill A. Shutemov wrote:
> > > Я анонсирую, когда всё будет готово. Нужно решить несколько проблем на
> > > ARM сперва.
> > 
> > Just don't do it - in conjunction with --as-needed, --copy-dt-needed-entries
> > is good by default.
> 
> Current --as-needed + --copy-dt-needed-entries combination works pretty
> well, so let's delay changing this default until we face a real bug.

Not only does it work pretty well, it also tries to do "the right
thing".  In a previous message, I tried to describe two distinct ld
modes: dumb mode and smart mode.  Dumb mode would just do what is
specified on the command line.  By contrast, smart mode could do
something more about shared library dependencies based on how symbols
are resolved.

Now, a smart mode, what could that be?  It's about either extra
dependencies which are unused (--as-needed), or missing/implicit
dependencies which can be obtained automatically (--copy-dt-needed-entries).
So, if there's anything like a smart mode, these two options togehter
are pretty smart.

[-- Attachment #2: Type: application/pgp-signature, Size: 198 bytes --]

^ permalink raw reply	[flat|nested] 41+ messages in thread

* Re: [devel] Q: --no-copy-dt-needed-entries
  2010-03-24 18:24                           ` Kirill A. Shutemov
@ 2010-03-24 18:28                             ` Dmitry V. Levin
  2010-03-24 18:40                               ` Kirill A. Shutemov
  0 siblings, 1 reply; 41+ messages in thread
From: Dmitry V. Levin @ 2010-03-24 18:28 UTC (permalink / raw)
  To: ALT Linux Team development discussions

[-- Attachment #1: Type: text/plain, Size: 1316 bytes --]

On Wed, Mar 24, 2010 at 08:24:32PM +0200, Kirill A. Shutemov wrote:
> 2010/3/24 Dmitry V. Levin <ldv@altlinux.org>:
> > On Sun, Mar 21, 2010 at 06:34:43PM +0300, Dmitry V. Levin wrote:
> >> On Sun, Mar 21, 2010 at 05:51:13PM +0300, Alexey Tourbin wrote:
> > [...]
> >> > So, contrary to the initial message, with --as-needed on, there seems
> >> > to be NO REASON to enable --no-copy-dt-needed-entries by default.
> >>
> >> Just the opposite, there is a reason to link ELF executables with all
> >> libraries they use directly.  Applications should be neither overlinked
> >> nor underlinked.  The first problem is solved by --as-needed, the second
> >> issue will be fixed by enabling --no-copy-dt-needed-entries by default.
> >
> > I was wrong, --copy-dt-needed-entries does not produce underlinked apps,
> > so I withdraw my proposal to change the default from --copy-dt-needed-entries
> > to --no-copy-dt-needed-entries.
> 
> Dmitry, what do you think about gold? What will we do if Fedora
> switches to gold. If we want to switch to gold too, we have to prepare
> for it. --no-copy-dt-needed-entries is one of step of the preparing.

I haven't tried gold yet.  If it doesn't implement
--copy-dt-needed-entries, we could request this feature or just implement
it ourselves.


-- 
ldv

[-- Attachment #2: Type: application/pgp-signature, Size: 198 bytes --]

^ permalink raw reply	[flat|nested] 41+ messages in thread

* Re: [devel] Q: --no-copy-dt-needed-entries
  2010-03-24 18:28                             ` Dmitry V. Levin
@ 2010-03-24 18:40                               ` Kirill A. Shutemov
  0 siblings, 0 replies; 41+ messages in thread
From: Kirill A. Shutemov @ 2010-03-24 18:40 UTC (permalink / raw)
  To: ALT Linux Team development discussions

2010/3/24 Dmitry V. Levin <ldv@altlinux.org>:
> On Wed, Mar 24, 2010 at 08:24:32PM +0200, Kirill A. Shutemov wrote:
>> 2010/3/24 Dmitry V. Levin <ldv@altlinux.org>:
>> > On Sun, Mar 21, 2010 at 06:34:43PM +0300, Dmitry V. Levin wrote:
>> >> On Sun, Mar 21, 2010 at 05:51:13PM +0300, Alexey Tourbin wrote:
>> > [...]
>> >> > So, contrary to the initial message, with --as-needed on, there seems
>> >> > to be NO REASON to enable --no-copy-dt-needed-entries by default.
>> >>
>> >> Just the opposite, there is a reason to link ELF executables with all
>> >> libraries they use directly.  Applications should be neither overlinked
>> >> nor underlinked.  The first problem is solved by --as-needed, the second
>> >> issue will be fixed by enabling --no-copy-dt-needed-entries by default.
>> >
>> > I was wrong, --copy-dt-needed-entries does not produce underlinked apps,
>> > so I withdraw my proposal to change the default from --copy-dt-needed-entries
>> > to --no-copy-dt-needed-entries.
>>
>> Dmitry, what do you think about gold? What will we do if Fedora
>> switches to gold. If we want to switch to gold too, we have to prepare
>> for it. --no-copy-dt-needed-entries is one of step of the preparing.
>
> I haven't tried gold yet.

I'll package it with alternatives in the next build of binutils.

>  If it doesn't implement
> --copy-dt-needed-entries, we could request this feature or just implement
> it ourselves.

Have you looked into bug pointed by Alexey? In fact,
--copy-dt-needed-entries is a reimplementation part of dynamic loader
functional. Looks like workaround for buggy software. I don't think
that bring it to new linker is a good idea.


^ permalink raw reply	[flat|nested] 41+ messages in thread

* Re: [devel] Q: --no-copy-dt-needed-entries
  2010-03-24 18:24                                   ` Alexey Tourbin
@ 2010-03-24 19:01                                     ` Kirill A. Shutemov
  2010-03-24 22:01                                       ` Dmitry V. Levin
  0 siblings, 1 reply; 41+ messages in thread
From: Kirill A. Shutemov @ 2010-03-24 19:01 UTC (permalink / raw)
  To: ALT Linux Team development discussions

2010/3/24 Alexey Tourbin <at@altlinux.ru>:
> On Wed, Mar 24, 2010 at 09:04:48PM +0300, Dmitry V. Levin wrote:
>> On Mon, Mar 22, 2010 at 11:23:01AM +0300, Alexey Tourbin wrote:
>> > On Mon, Mar 22, 2010 at 09:28:11AM +0200, Kirill A. Shutemov wrote:
>> > > Я анонсирую, когда всё будет готово. Нужно решить несколько проблем на
>> > > ARM сперва.
>> >
>> > Just don't do it - in conjunction with --as-needed, --copy-dt-needed-entries
>> > is good by default.
>>
>> Current --as-needed + --copy-dt-needed-entries combination works pretty
>> well, so let's delay changing this default until we face a real bug.
>
> Not only does it work pretty well, it also tries to do "the right
> thing".  In a previous message, I tried to describe two distinct ld
> modes: dumb mode and smart mode.  Dumb mode would just do what is
> specified on the command line.  By contrast, smart mode could do
> something more about shared library dependencies based on how symbols
> are resolved.
>
> Now, a smart mode, what could that be?  It's about either extra
> dependencies which are unused (--as-needed), or missing/implicit
> dependencies which can be obtained automatically (--copy-dt-needed-entries).
> So, if there's anything like a smart mode, these two options togehter
> are pretty smart.


Ok, for example, we have package libfoo with library libfoo.so.0 which
links with libm. Program bar uses symbols from both libfoo and libm,
but it links only with libfoo.so.0. Everything works fine. Then libfoo
changes a bit. It doesn't link with libm any more, but soname hasn't
changed. Everything still works fine, but building of program bar is
broken. Cause of breakage is not clean in this situation. Do we care
about situations like this?

Currently, we have a good chance to fix buggy software.
--no-copy-dt-needed-enties provides rather informative error message
on underlinking.


^ permalink raw reply	[flat|nested] 41+ messages in thread

* Re: [devel] Q: --no-copy-dt-needed-entries
  2010-03-24 19:01                                     ` Kirill A. Shutemov
@ 2010-03-24 22:01                                       ` Dmitry V. Levin
  2010-03-25 17:14                                         ` Michael Shigorin
  0 siblings, 1 reply; 41+ messages in thread
From: Dmitry V. Levin @ 2010-03-24 22:01 UTC (permalink / raw)
  To: ALT Linux Team development discussions

[-- Attachment #1: Type: text/plain, Size: 2557 bytes --]

On Wed, Mar 24, 2010 at 09:01:51PM +0200, Kirill A. Shutemov wrote:
> 2010/3/24 Alexey Tourbin <at@altlinux.ru>:
> > On Wed, Mar 24, 2010 at 09:04:48PM +0300, Dmitry V. Levin wrote:
> >> On Mon, Mar 22, 2010 at 11:23:01AM +0300, Alexey Tourbin wrote:
[...]
> >> > Just don't do it - in conjunction with --as-needed, --copy-dt-needed-entries
> >> > is good by default.
> >>
> >> Current --as-needed + --copy-dt-needed-entries combination works pretty
> >> well, so let's delay changing this default until we face a real bug.
> >
> > Not only does it work pretty well, it also tries to do "the right
> > thing".  In a previous message, I tried to describe two distinct ld
> > modes: dumb mode and smart mode.  Dumb mode would just do what is
> > specified on the command line.  By contrast, smart mode could do
> > something more about shared library dependencies based on how symbols
> > are resolved.
> >
> > Now, a smart mode, what could that be?  It's about either extra
> > dependencies which are unused (--as-needed), or missing/implicit
> > dependencies which can be obtained automatically (--copy-dt-needed-entries).
> > So, if there's anything like a smart mode, these two options togehter
> > are pretty smart.
> 
> Ok, for example, we have package libfoo with library libfoo.so.0 which
> links with libm. Program bar uses symbols from both libfoo and libm,
> but it links only with libfoo.so.0. Everything works fine. Then libfoo
> changes a bit. It doesn't link with libm any more, but soname hasn't
> changed. Everything still works fine, but building of program bar is
> broken.

Note that, as you've just said, runtime still works fine, and there are no
wrong linkage.

> Cause of breakage is not clean in this situation. Do we care
> about situations like this?

Well, if it just no longer links due to this error, the fix is rather
trivial.  Why should we bother of fixing these harmless hidden linkage
bugs so much?  Let's fix them as soon as they arise.

> Currently, we have a good chance to fix buggy software.

It's always good to fix buggy software.  However, there are too many bugs
around, let's fix first those that harm most.  Fixing linkage bugs
uncovered by --no-copy-dt-needed-enties option brings us nothing besides
this fix, because the option itself has no other benefits, unlike e.g.
--as-needed which was introduced to solve real issue -- overlinking.

> --no-copy-dt-needed-enties provides rather informative error message
> on underlinking.

That's nice.


-- 
ldv

[-- Attachment #2: Type: application/pgp-signature, Size: 198 bytes --]

^ permalink raw reply	[flat|nested] 41+ messages in thread

* Re: [devel] Q: --no-copy-dt-needed-entries
  2010-03-24 22:01                                       ` Dmitry V. Levin
@ 2010-03-25 17:14                                         ` Michael Shigorin
  0 siblings, 0 replies; 41+ messages in thread
From: Michael Shigorin @ 2010-03-25 17:14 UTC (permalink / raw)
  To: ALT Linux Team development discussions

On Thu, Mar 25, 2010 at 01:01:50AM +0300, Dmitry V. Levin wrote:
> > Currently, we have a good chance to fix buggy software.
> It's always good to fix buggy software.  However, there are too many bugs
> around, let's fix first those that harm most.  Fixing linkage bugs
> uncovered by --no-copy-dt-needed-enties option brings us nothing besides
> this fix, because the option itself has no other benefits, unlike e.g.
> --as-needed which was introduced to solve real issue -- overlinking.

Иными словами, федорам федорово, а нам со своим бы расхлебаться.

IMHO неделя или месяц пропихивания полезных патчей в апстрим были бы
*гораздо* полезней дубликации усилий пользователей и девелоперов Fedora.

-- 
 ---- WBR, Michael Shigorin <mike@altlinux.ru>
  ------ Linux.Kiev http://www.linux.kiev.ua/


^ permalink raw reply	[flat|nested] 41+ messages in thread

end of thread, other threads:[~2010-03-25 17:14 UTC | newest]

Thread overview: 41+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2010-03-18 22:14 [devel] Q: --no-add-needed Kirill A. Shutemov
2010-03-18 22:22 ` Dmitry V. Levin
2010-03-19  0:36 ` Max Ivanov
2010-03-19  8:40   ` Kirill A. Shutemov
2010-03-19 12:29     ` Max Ivanov
2010-03-19 12:51       ` Kirill A. Shutemov
2010-03-19 20:49         ` Dmitry V. Levin
2010-03-19 21:24           ` Kirill A. Shutemov
2010-03-21  9:54         ` Stanislav Ievlev
2010-03-21 10:02           ` Evgeny Sinelnikov
2010-03-21 10:04             ` Stanislav Ievlev
2010-03-21 10:11               ` Andrey Rahmatullin
2010-03-21 10:19                 ` Evgeny Sinelnikov
2010-03-21 13:14                   ` [devel] Q: --copy-dt-needed-entries Dmitry V. Levin
2010-03-21 14:51                     ` Alexey Tourbin
2010-03-21 15:34                       ` [devel] Q: --no-copy-dt-needed-entries Dmitry V. Levin
2010-03-21 19:18                         ` Alexey Tourbin
2010-03-22  0:26                           ` Kirill A. Shutemov
2010-03-22  0:27                             ` Kirill A. Shutemov
2010-03-22  8:11                             ` Alexey Tourbin
2010-03-22 11:00                               ` Kirill A. Shutemov
2010-03-22 13:58                                 ` Alexey Tourbin
2010-03-22 15:41                                   ` Kirill A. Shutemov
2010-03-22 17:19                                     ` Alexey Tourbin
2010-03-22 18:31                                       ` Kirill A. Shutemov
2010-03-22 14:15                                 ` Sergei Epiphanov
2010-03-22 14:31                                   ` Vitaly Kuznetsov
2010-03-22 14:41                                   ` Kirill A. Shutemov
2010-03-22  7:23                           ` [devel] Q: --no-copy-dt-needed-entries. " Любит-не =?windows-1251?b?IOv+4ejy?=". И? Sergei Epiphanov
2010-03-22  7:28                             ` Kirill A. Shutemov
2010-03-22  8:23                               ` Alexey Tourbin
2010-03-24 18:04                                 ` [devel] Q: --no-copy-dt-needed-entries Dmitry V. Levin
2010-03-24 18:24                                   ` Alexey Tourbin
2010-03-24 19:01                                     ` Kirill A. Shutemov
2010-03-24 22:01                                       ` Dmitry V. Levin
2010-03-25 17:14                                         ` Michael Shigorin
2010-03-24 18:15                         ` Dmitry V. Levin
2010-03-24 18:24                           ` Kirill A. Shutemov
2010-03-24 18:28                             ` Dmitry V. Levin
2010-03-24 18:40                               ` Kirill A. Shutemov
2010-03-22 14:48                 ` [devel] Q: --no-add-needed Stanislav Ievlev

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