Messages in this thread | | | From | Peter Samuelson <> | Date | Fri, 5 Nov 1999 23:45:34 -0600 (CST) | Subject | Re: 2.3.26pre2 compile error |
| |
[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/
| |