it seems like it shouldn't be too hard to bump this up at least one level to "limited standard library support". this could allow some applications the ability to be built with no libc without requiring a full rewrite. there would be a few limitations, such as probably forcing panic=abort, and probably most limitingly: no std::thread.
ironically, it should actually be fine to keep the dependancy on the libc crate, since it defines a lot of constants used in linux syscalls. if it tries to actually pull in code from libc, it should hopefully result in link-time errors saying what function is trying to call into libc.
I think we have a lot of assumptions that Unix == libc. Or perhaps more accurately Unix == POSIX + system specific APIs. Untangling that may be more work than it appears.
yeah, getting the full standard library to work would obviously be a major undertaking.. but i think at least getting the io module to work shouldn't be too hard.