Messages in this thread | | | Date | Sat, 6 Nov 1999 01:01:08 -0500 (EST) | From | Alexander Viro <> | Subject | Re: 2.3.26pre2 compile error |
| |
On Fri, 5 Nov 1999, Peter Samuelson wrote:
> [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?
Because in 99% of cases you don't _want_ those operations. Part of standard or not, gcc on x86 makes them _slow_.
- 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/
| |