Kevin D. Kissell writes:
> >The whole inconsistence was a stupid accident. Since apparently only very
> >little software was affected negativly (read: no known problems) we didn't
> >try to come up with some genious compatibility hacks but just fixed the
> >definitions the hard way.
> Having two independent sets of include files between kernel and userland
> is always a bad idea, but is not *necessarily* broken, and sometimes
> cannot be avoided. The problem is not that the definitions are seperately
> wired, but that they are incompatible - the risk one takes when one creates
> multiple independent definitions.
In this case the definitions are supposed to match the MIPS ABI.
That the glibc definitions (at least as of 2.1.1) do not is just a glibc bug.
This is no different that having Linux and FreeBSD header files for some
I/O controller, with one of them having incorrect values for some field
definitions. The one which does not match the standard (the ABI or the
I/O controller hardware) is simply wrong.
Since glibc is shared among a great many operating systems, it really
needs to be self-contained in regard to the C and POSIX and UNIX98 standards.