Re: RLIM_INFINITY inconsistency between archs

Richard B. Johnson
2000-07-31T21:29:48Z

On 31 Jul 2000, Miquel van Smoorenburg wrote:

> In article >Pine.LNX.3.95.1000731132321.529A-100000@chaos.analogic.com>,
> Richard B. Johnson <root@chaos.analogic.com> wrote:
> > /usr/include/linux and /usr/include/asm are symbolic links, referenced
> >to /usr/src/linux, not a specific version. This makes changing kernel
> >development versions a simple change of a single symbolic link.
>
> No. Even Linus himself has been saying for years (and recently even
> in this thread) that /usr/include/linux and /usr/include/asm should
> NOT EVER be symlinks to /usr/src/linux
>

I don't think Linus said that at all. In fact, the first trees that
Linus made and distributed were done this way and have become the
de-facto standard as a result of this.

> Everything in /usr/include belongs to and depends on glibc, not
> the currently running kernel.
>

No. I have /usr/include/subdirectories which contain headers for X11, some
that contain headers for Motif, some that contain headers for pthreads,
bind-4.9.3, etc. These are not glibc headers.

You cannot decide that I can't keep these where they are.

Any portable code is not supposed to include non-portable headers.
This means that if your code does:

#include <linux/something.h>

it is not portable. If your portable code is written properly, the
presence of links to non-portable headers in /usr/include does nothing.
They are never referenced.

When you need to have current kernel headers referenced, your non-
portable code (like modules) specifically includes the linux headers.
This is now it's been done. I see no reason to change it.

> And if you want to compile modules and use /usr/include/linux for
> the include files, what are you going to do about networking
> modules that use include/net ? The one in the kernel source is
> very, very different from the one in glibc .. so you have to compile
> with -I/path/to/kernel/include _anyway_
>
> You can't just use /usr/src/linux/include, what if you want to compile
> against another kernel version? What if you are not root ?
>

We don't use /usr/src/linux/include. As stated, the include files
are referenced from /usr/include.

> The /lib/modules/version/ stuff is a good idea, but it should
> contain a `kernel-config' script that outputs the complete CFLAGS
> that the kernel was compiled with. Easy, simple, enduser friendly.
>

Cheers,
Dick Johnson

Penguin: Linux version 2.2.15 on an i686 machine (797.90 BogoMips).

"Memory is like gasoline. You use it up when you are running. Of
course you get it all back when you reboot..."; Actual explanation
obtained from the Micro$oft help desk.