Upcoming compat kernel and libc changes
Christos Zoulas has made a stab at revamping the
compat infrastructure of the kernel and libc, see
for all the information.
As far as I understand, the problem addressed by the compat
framework is to "version" system call, i.e. to have (say) an
old version 1.2 and a new version 1.3 of things like stat(2)
and glob(3) with different semantics and arguments. The way
this is done right now is similar to adding some #defines that make
glob(3) and stat(2) calls really call things like __glob13()
and __stat13(), which then map to the apporpriate kernel versions.
That way old binaries will still work, even when they were linked
against functions stat() and glob() (i.e. when they were linked
before the system call was started to get versioned at all).
Christos' work tries to sort out the resulting mess that evolved
over time from this by moving around header files etc.
[Tags: compat, libc, netbsd]