On 09.09.2004, at 15:02, Alan Cox wrote:
So, what happens in x86-64 where sizeof(unsigned long) is 4 bytes for
IA-32 apps and 8 bytes for x86-64 apps? I guess since it's a parameter
to the ioctl (rather than embedded in a structure) it should be okay,
but I just want to be sure...
Be cautious here - a bus address is 64bits on some builds of x86-32
kernels. Only virtual addresses are 32bit limited. Also don't forget
that you run 32bit apps on 64bit platforms.

Linux uses __u32/__u64/__s32/__s64 to be specific about such types and
to make it easier to build ioctls that don't need magic translation glue

hm. this would mean to bite the bullet, break the ABI to use uint64_t instead?

I don't see any easy solution there.

--
/"\
\ /
 \     ASCII Ribbon Campaign
/ \  Against HTML Mail and News


Attachment: PGP.sig
Description: This is a digitally signed message part

Reply via email to