On Tue, 2025-03-18 at 22:55 +0800, Tiwei Bie wrote: > On 2025/3/18 21:16, Johannes Berg wrote: > > On Tue, 2025-03-18 at 14:06 +0100, Johannes Berg wrote: > > > On Thu, 2025-03-06 at 23:07 +0800, Tiwei Bie wrote: > > > > Introduce a new set of utility functions that can be used to create > > > > pthread-based helpers. Helper threads created in this way will ensure > > > > thread safety for errno while sharing the same memory space. > > > > > > Using pthreads seemed odd, but Benjamin argues that it's the only way to > > > get libc to really sort it all out, unless we never use libc syscall > > > functions, which is probably kind of unreasonable? Or maybe we could? > > > > It's a long list of symbols that are needed: > > https://p.sipsolutions.net/2f0c8e0de1e69147.txt > > Thanks for the list! That's indeed a long one.
So, if we dropped libc, then I think that would also imply dropping the abstraction to support hosts other than Linux. And then the hard split between user/kernel code might not be needed anymore as one would ideally not rely on system headers at all. I can imagine that parts of the code base would really benefit (e.g. include handling). While other parts would obviously become more complicated (e.g. parsing /proc/cpuinfo, mcontext handling). It seems to me that the cleanup potential is likely big enough to make it worthwhile. Benjamin