From: Alexei Starovoitov <a...@fb.com> Date: Wed, 3 May 2017 09:54:42 -0700
> /usr/include/asm/types.h -> asm-generic/int-ll64.h > as far as I can see that should be the same on most archs. > Why doesn't it work for sparc? You can't assume anything about the kernel headers installed, on my debian Sparc box /usr/include/asm/types.h is below. They do things this way to facilitate multiarch building. I think it's pretty reasonable. #ifndef _SPARC_TYPES_H #define _SPARC_TYPES_H /* * This file is never included by application software unless * explicitly requested (e.g., via linux/types.h) in which case the * application is Linux specific so (user-) name space pollution is * not a major issue. However, for interoperability, libraries still * need to be careful to avoid a name clashes. */ #if defined(__sparc__) #include <asm-generic/int-ll64.h> #ifndef __ASSEMBLY__ typedef unsigned short umode_t; #endif /* __ASSEMBLY__ */ #endif /* defined(__sparc__) */ #endif /* defined(_SPARC_TYPES_H) */