2006-12-21 20:58:53

by David Miller

[permalink] [raw]
Subject: Re: [Bugme-new] [Bug 7724] New: asm/types.h should define __u64 if isoc99

From: Andrew Morton <[email protected]>
Date: Thu, 21 Dec 2006 12:49:54 -0800

> > Summary: asm/types.h should define __u64 if isoc99

Platform specific bug, and has nothing to do with networking.

This problem will occur with any user visible interface definition
that uses __u64, and there are several both in and outside the
networking.

x86 and perhaps others protect the __u64 definition with:

defined(__GNUC__) && !defined(__STRICT_ANSI__)

for whatever reason, probably to avoid "long long" or something like
that. But even that theory makes no sense.

I do not make this protection on any of the sparc ports, even 32-bit
sparc, for example, so I find it really strange that x86 does this.


2006-12-21 21:27:52

by Ismail Dönmez

[permalink] [raw]
Subject: Re: [Bugme-new] [Bug 7724] New: asm/types.h should define __u64 if isoc99

21 Ara 2006 Per 22:58 tarihinde, David Miller şunları yazmıştı:
> From: Andrew Morton <[email protected]>
> Date: Thu, 21 Dec 2006 12:49:54 -0800
>
> > > Summary: asm/types.h should define __u64 if isoc99
>
> Platform specific bug, and has nothing to do with networking.
>
> This problem will occur with any user visible interface definition
> that uses __u64, and there are several both in and outside the
> networking.

This bug hit KDE modules (kdebase/kdemultimedia/kdetv/...) many times, I
workarounded with #undef ing __STRICT_ANSI__ before including kernel headers
which is well ugly but works.

> x86 and perhaps others protect the __u64 definition with:
>
> defined(__GNUC__) && !defined(__STRICT_ANSI__)
>
> for whatever reason, probably to avoid "long long" or something like
> that. But even that theory makes no sense.

Indeed this restriction just breaks userspace apps.

Regards,
ismail

--
Bir gün yolda yürüyordum... Bir şarkı duydum... Kalbim acıdı... Bu kadar...