Here is more info on the problem. The issue is that 'struct user' in <sys/user.h> on s390 need 'struct user_regs_struct' from <asm/ptrace.h>, and this need type 's390_fp_regs' which need type 'freq_t' which need type '__u64' which is unavailable when compiling with -ansi. The reason the '__u64' type is mising is that ANSI C do not define 'long long'. (Hm, is this fixed in later versjons of ANSI C?). So the result is that <sys/user.h> is impossible to include in a program compiled with '-ansi' on linux/s390.
The reason this work on other archs seem to be that 'struct user' do not depend on a 64-bit integer type on these archs. I assume that all glibc headers should be compilable when using 'gcc -ansi'. It seem hard to avoid the dependency on the 64-bit value for <sys/user.h> on s390. Could it be an idea to make sure there is a 64-bit type available using a packed struct? #if !defined(__s390x__) && !(defined(__GNUC__) && !defined(__STRICT_ANSI__)) typedef struct { long first_part; long last_part; } __u64; #endif This will of course break on all code _using_ variables with this type, but might hide the problem in programs which only need a includable <sys/user.h> to access the members available on all archs. -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]