Debian GNU/Any -------------- We are trying to abstract the userland from the running kernel with glibc, so binaries would be binary compatible with any kernel supported on GNU/Any through the glibc abstraction. TODO ~~~~ * multiarch support - /lib/- - /lib/ * new ELF kernel id (note.ABI-tag and on some cases OSABI) * kernels support for new ELF kernel id * binutils support for new ELF kernel id * new config.* triplet: -pc-any-gnu * glibc should not export any kernel header to userspace - step 1: make all kernel headers show a #warning - step 2: make all kernel headers show an #error - step 3: define kernel independent headers to be used by glibc * glibc abi unification - same soname - same versioned symbols * each kernel should use the proper linker on the same system, possible solutions: - passing KERNEL env var to the linker. - mapping ld.so to ld-.so - implement some kind of pattern that the kernel would expand. for example: ld-%k-%c.so -> ld-kfreebsd-i386.so * catalog (almost) generic source, and kernel dependent one * create kernel wrapper libs to be able to write portable code (those should go into - bound dirs, ex: - libps - libblockdev - libpmount - libsound - libcdrom - ... * start moving only bound libs into hieararchy