> >The straight forward solution is to replace "__u64" with "unsigned long
long",
> >"__u32" with "unsigned int" and "__u16" with "unsigned short". Since
ptrace.h
> >is commonly used in user space (hmpf) I'll change asm-s390/ptrace.h.
>
> This doesn't really solve the problem, because there is a reason __u64 is
not
> defined if STRICT_ANSI: when running in strict pre-C99 ANSI mode, there
> *is* no long long data type, so replacing __u64 with unsigned long long
> just replaces one syntax error with another one ...
How unfortunate. Well, it's Gerhards patch then:
--- linux-2.4.19/include/asm-s390/ptrace.h.bak Mon Mar 17 19:59:32 2003
+++ linux-2.4.19/include/asm-s390/ptrace.h Mon Mar 17 20:00:05 2003
@@ -129,7 +129,9 @@
{
float f;
double d;
+#if defined(__GNUC__) && !defined(__STRICT_ANSI__)
__u64 ui;
+#endif
struct
{
__u32 hi;
I wonder if there are any other __u64 types in the kernel headers that could
break strict ansi compiles. There is one in lowcore.h which could cause trouble.
blue skies,
Martin