Re: glibc 2, Linux 2.x and the world of many patches!

Linus Torvalds (torvalds@transmeta.com)
31 Jul 1997 17:16:31 GMT


In article <19970731121925.27207@calder>,
<mdorman-linux@calder.med.miami.edu> wrote:
>
>First, your current patches aren't against the current glibc, which
>means they do not actually take care of many of the issues one can
>find in compiling against glibc (for instance, at least on the alpha,
>the size_t vs. int on socket functions issue that was introduced after
>the snapshot you use---I suspect this would show up on UltraPenguin,
>too).

Oh, no! Don't tell me that glibc now tries to implement the completely
broken new POSIX standard for size_t of socket names?

I complained to the POSIX people the very same day I found out (Alan
sent me a patch that tried to implement it in the kernel, and when I
asked him why he did something so stupid and broken he pointed to the
POSIX people), but it seems the committee was populated by bungling
idiots and they had already passed the thing.

It's sad, because POSIX has mostly been on the ball apart from this one
major f*ck-up (sorry, there is no polite way of putting it).

If any glibc people actually read this list, PLEASE disregard the new
and broken POSIX stuff in glibc when it comes to socket name lengths.
It is technically broken and it CANNOT work on machines where
"sizeof(int) != sizeof(size_t)" (which covers all sane 64-bit
implementations).

The bottom line is that the socket interface has been passing pointers
to integers around for a long time, and the new POSIX standard (whetaver
the number is, I forget - 1d?) broke that interface for no good reason.

Implementing the broken POSIX standard is horribly stupid: it breaks
good, working programs in subtle and very hard-to-find ways.

Do NOT implement it, and laugh derisively at anybody who is so clueless
that he thinks that particular POSIX standard actually is worth the
paper it is printed on. Only a committee can get it so obviously wrong,

Linus