[Top][All Lists]

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

Re: status of l4-hurd

From: Farid Hajji
Subject: Re: status of l4-hurd
Date: Mon, 3 Sep 2001 21:58:39 +0200 (CEST)

address@hidden wrote:
> > currently present in glibc. Everyting in (the backend of) glibc's
> > L4Linux heavily relies upon the l4linux server. Its exactly the same
> > approach that is used in the Lites emulation library in the BSD-case.
address@hidden wrote:
> I just wanted to remind you that L4Linux is binary-compatible with
> Linux, and that includes compatibility with an _unmodified_ Linux
> glibc (with the int 0x80 system-call interface).  We usually use the
> off-the-shelf Linux glibc that came with out Linux distribution, not
> one that has been ported to L4 or L4Linux.

Sorry, my statement above was incorrect. I wrongly assumed that you
intercepted int 0x80 in glibc and redirected that to the emulation
library, unlike in the Lites/Mach approach which uses mach trampoline
code. (I should have read the sources more carefully. Mea culpa). If
it were the case, the above statement about heavy reliance of glibc
upon l4linux server would still be true.

Thanks for pointing this out!

So to put it more clearly: glibc currently _needs_ a Linux "VM" (be it
as a kernel or through an emulation library) to work. Porting glibc to
L4 (whatever this means) would require writing sysdeps comparable to
the Mach/Hurd stuff already present in glibc, right? This seems like a
formidable task (no pun intended).

> However, there is a port of glibc to L4Linux that replaces the "int
> 0x80" with a direct call into the emulation library (which is mapped
> in all user processes and IPCs the L4Linux server) -- effectively
> emulating the effect of "int 0x80" on L4Linux.  This version saves the
> cost of a trampoline call (an extra trap into the microkernel).  (In
> other words, that's the version we use for benchmarks. ;-)
That is an obvious optimization. It certainly helps to save some
cycles. If the emulation library caches some results like Lites (e.g.
getpid() or some such), then it would even save a complete kernel
call! Did you generate this modified library manually, or do you use
some kind of {sed,perl,awk...}script that would work on the most
actual glibc versions?

> Michael
> -- 
> address@hidden, address@hidden
> http://home.pages.de/~hohmuth/



Farid Hajji -- Unix Systems and Network Admin | Phone: +49-2131-67-555
Broicherdorfstr. 83, D-41564 Kaarst, Germany  | address@hidden
- - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - -
One OS To Rule Them All And In The Darkness Bind Them... --Bill Gates.

reply via email to

[Prev in Thread] Current Thread [Next in Thread]