Re: d-i experiences
On Fri, Sep 19, 2003 at 01:06:36AM +0200, Steinar H. Gunderson wrote:
> On Thu, Sep 18, 2003 at 10:29:44PM +0200, Steinar H. Gunderson wrote:
> > Simply adding "./libpwdgrp/libpwdgrp.a ./libbb/libbb.a" (libpwdgrp.a needs
> > stuff from libbb.a, too) to the end of the command line linking busybox fixes
> > the problem, but there must surely be a more elegant way?
>
> OK, I think I found it. :-) From "info ld":
>
> `-( ARCHIVES -)'
> `--start-group ARCHIVES --end-group'
> The ARCHIVES should be a list of archive files. They may be
> either explicit file names, or `-l' options.
>
> The specified archives are searched repeatedly until no new
> undefined references are created. Normally, an archive is
> searched only once in the order that it is specified on the
> command line. If a symbol in that archive is needed to resolve an
> undefined symbol referred to by an object in an archive that
> appears later on the command line, the linker would not be able to
> resolve that reference. By grouping the archives, they all be
> searched repeatedly until all possible references are resolved.
>
> Using this option has a significant performance cost. It is best
> to use it only when there are unavoidable circular references
> between two or more archives.
>
> So, what we want is probably something along the lines of
>
> gcc -s -o busybox -Wl,--start-group (insert all .a files here) \
> -Wl,--end-group
>
> and the NSS problems should go away.
Will the proposal get upstream?
>
> /* Steinar */
Geert Stappers
Reply to: