The ability of a process to change the behavior of its own syscalls.
Because in this way it is possible to extend the scope of existing libraries.
The current implementation named purelibc is based on an overlay library loaded over libc (it uses LD_PRELOAD
).
A specific "pure" target for the libc is in the future challenges of VirtualSquare. (A pure C library does not include the interface functions to the system calls,
a process can provide its own implementation of the system calls).
It is used in umvu to support nested virtualization. It is purelibc that permits to re-use libraries like e2fslib in vufuseext2 on virtual resources.
The implementation of this feature in umvu is in the vu_nested.c
file.