Re: Linux-asm (was A patch for linux 2.1.127)

Horst von Brand (vonbrand@inf.utfsm.cl)
Thu, 19 Nov 1998 14:07:45 -0300


"Richard B. Johnson" <root@chaos.analogic.com> said:

[...]

> Using Linus' name is a usual trick. He did not make the kernel
> in 'C'. It was made using various tools including assembler and
> GNU extensions that are implemented within the GNU Compiler.
> Check the ../linux/arch/.. directories and the ../linux/include/asm
> directories before you leap to such a conclusion.

And the proportion of asm() in there is? What is the proportion of this
stuff (tightly bound to each architecture!) in the kernel you build?

> Further, much of the new 'C' libraries are written in assembly.
> Basically, the hard stuff is written in assembly so you can make
> portable code that runs reasonably well.

Again, I've taken a look at glibc-2.1 snapshots. It's just not "much",
there are some extremely speed-critical routines (string and memory
handling, some math functions) that are written as horrendous macros that
(depending on the exact arguments) call one of a bunch of inline functions
that are in turn mostly asm() statements. Not nice to behold at all, but
needed for performance. The rest is just plain old C.

-- 
Dr. Horst H. von Brand                       mailto:vonbrand@inf.utfsm.cl
Departamento de Informatica                     Fono: +56 32 654431
Universidad Tecnica Federico Santa Maria              +56 32 654239
Casilla 110-V, Valparaiso, Chile                Fax:  +56 32 797513

- 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/