From: Andrew Morton <redacted>
Date: Thu, 21 Dec 2006 12:49:54 -0800
quoted
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.