Messages in this thread | | | Date | Fri, 25 Apr 2008 12:38:13 -0700 | From | "H. Peter Anvin" <> | Subject | Re: [PATCH 01/24] types: create <asm-generic/int-*.h> |
| |
Matthew Wilcox wrote: > On Fri, Apr 25, 2008 at 12:10:40PM -0700, H. Peter Anvin wrote: >> Well, compatibility with userspace is probably one aspect of that. >> x86-64 is the odd man out there, it defines __s64 as "long long" even >> for userspace, even though int64_t from <stdint.h> is "long". This, >> IMO, is the Wrong Thing, but it's a separate set of changes. >> >> The right thing to do is probably to always use "long long" in the >> kernel, while defining __s64 et al as "long" on 64-bit platforms when >> not under __KERNEL__. >> >> Again, this is a separate set of changes from this patchset, which is >> just a code transformation. > > Understood, and agreed. It just seemed like an opportune time to > mention the problem of printing a u64. >
I have to admit to liking the Windows extension %I64u for this kind of stuff. Unfortunately gcc/glibc decided to use I for internationalized digits instead :(
-hpa
| |