2 ms·
> The Linux kernel has a rule not to break users, and for the most part, it is followed. This is not followed in userland where glibc and GNU GCC C++ library do
by saghm 4y ago
> The Linux kernel has a rule not to break users, and for the most part, it is followed. This is not followed in userland where glibc and GNU GCC C++ library do break users with they accidentally do not follow the spec.
I do think it's a bit harder when the spec is an external standard rather than just a de facto standard of your existing behavior. The kernel doesn't claim or aim to be fully POSIX compliant, so they "just" need to guarantee that they don't break their existing functionality. This isn't a small task by any means, but C and C++ compilers need to do this on top of ensuring that their behavior also conforms to the standards; it's essentially another guarantee they have to uphold beyond what Linux has to deal with. I don't have anywhere close to enough expertise to make any assertions of whether they've done a good job at upholding even the base guarantee of backwards compatibility though, so this point might be moot.