[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#301631: linux-kernel-headers: type of __s64 and __u64 (from asm/types.h) on AMD64 should be long



On Tue, Mar 29, 2005 at 05:30:00PM +0200, André Wöbbeking wrote:
> On Tuesday 29 March 2005 17:01, Daniel Jacobowitz wrote:
> 
> > Can you explain why you want to make this change?  Long long is still
> > correct for these types, and consistent within the kernel.  The
> > kernel types don't need to match stdint.h.
> 
> I got an error from
> 
> #ifdef OS_Linux
>   #include <linux/version.h>
>   #include <sys/types.h>
>   #ifndef __u64
>   #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,5,70)
>   #include <bits/wordsize.h>
>   #if __WORDSIZE == 64
>   typedef unsigned long __u64;
>   #else
>   typedef unsigned long long __u64;
>   #endif 
>   #endif
>   #endif
> #endif
> 
> somewhere below <asm/types.h> is included which results in a type 
> mismatch.

That's your bug.  Don't do that.  Don't mix glibc and kernel headers.

-- 
Daniel Jacobowitz
CodeSourcery, LLC



Reply to: