Re: 2.3.26pre2 compile error

Peter Samuelson (peter@wire.cadcamlab.org)
Fri, 5 Nov 1999 23:45:34 -0600 (CST)


[Jes Sorensen <Jes.Sorensen@cern.ch>]
> > > Then you extract that single function from libgcc and put it in the
> > > kernel instead of linking in the entire libgcc.a
[Horst von Brand <vonbrand@inf.utfsm.cl>]
> > That is ld(1)'s job.
[Jes Sorensen]
> Rubbish, the kernel should never get even close to functions provided
> from outside the kernel source tree.

What is the difference? `gcc' implements standard C. For some of the
standard C requirements it relies on libc, for some it has its own ways
of providing them. One such way is to generate assembler code from its
parse trees, another is through linking to libgcc.a. Thus libgcc.a is
in one sense not really a library so much as just part of the compiler.

Horst is right. `ld' is very good at extracting a single object file
out of a library, and libgcc.a is (like any good library) compiled one
function per object file. Why do this work by hand?

-- 
Peter Samuelson
<sampo.creighton.edu!psamuels>

- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.tux.org/lkml/