Re: linux/types.h <-> glibc interferences
On Thu, Aug 23, 2007 at 10:08:44PM +0200, Bastian Blank wrote:
> linux/types.h exports some POSIX types. It can be asked to stop this
> with __KERNEL_STRICT_NAMES. features.h defines this. So currently
> anything works if features.h is included before linux/types.h.
> This is not properly fixable by the glibc. The attached patch fixes it
> in linux, but I'm unsure if this will not break other things like
> alternative libc.
Is there some specific reported issue that this change is intended to fix?
I haven't noticed any complaints about the current behavior.
I assume this isn't intended as the fix for 429064, since 429064 is
reporting an issue with a kernel type which is currently *not* guarded with
__KERNEL_STRICT_NAMES; your patch fixes this, but only as a side-effect.
Anyway, it's my understanding that userspace apps are never supposed to
define __KERNEL__ and doing so with linux-libc-dev gives broken includes, so
in terms of overall design this change looks wrong to me (or at least,
gratuitously strict). If there's userspace code that wants to get the
kernel types under the standard posix names, why break that?
(For an example of code that probably breaks with this change, I offer you
aboot, the alpha bootloader; it's not great code, but we have to maintain it
all the same...)
Steve Langasek Give me a lever long enough and a Free OS
Debian Developer to set it on, and I can move the world.