[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: