tech-kern archive

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

the __ namespace in the kernel


In an attempt to isolate the rump virtual kernel namespace from the
process hosting it we now bulk-rename all the symbols to have a "rumpns"
prefix.  This allows e.g. problib to exist both in the application and
the "kernel".

Unfortunately, there's a but: our toolchain generates some unresolved
symbols which are supposed to be satisfied by linking libgcc.  Those
cannot be renamed, or fail will result.  Luckily, almost all toolchain
symbols are in the __ namespace.  The exceptions are _GLOBAL_OFFSET_TABLE
and a few quirks for mips and hppa (look at src/sys/rump/Makefile.rump
if feeling curious).

However, there are a kernel few symbols in the __ namespace (I checked
i386).  These are listed below.  To solve the issue, I propose simply
to remove one underscore.  Notably, byte swap and simplelock are MD and
shared with userspace, so if it's a sunny day outside, I might just
let those two slide to avoid a macro crusade and/or other trickery.
Can anyone think of any sensible reasons to object?  We might need
something special for pcc, but I don't see why the pcc toolchain couldn't
be fitted under a similar __ regime.

__ symbols:

Home | Main Index | Thread Index | Old Index