On Mon, 2007-06-25 at 14:04 +0200, Segher Boessenkool wrote: > >> - Some architectures must align 64-bit integers into an aligned > >> pair of registers. A slot may be wasted for padding. > >> - S390 may not have a 64-bit integer in slots 5/6. > > > > Uhm, doesn't sys_sync_file_range2 break that? > > > > +asmlinkage long compat_sys_sync_file_range2(int fd, unsigned int > > flags, > > + unsigned offset_hi, unsigned > > offset_lo, > > + unsigned nbytes_hi, unsigned > > nbytes_lo) > > I don't see any 64-bit integers here.
Of course not. This is the routine which is called from 32-bit code. The prototype in the 32-bit code is (int, unsigned, loff_t, loff_t). > > Also, you might want to put something in the syscall file about signed > > vs unsigned arguments and how they behave with 32-on-64 systems. > > "Both work / unsigned is better / use unsigned whenever > possible" -- but that's true for all C coding. Wouldn't > hurt to repeat it though :-) Don't we need (int)(-1) to be represented as 0xFFFFFFFFFFFFFFFF in a register in 64-bit code, while we only get 0xFFFFFFFF passed in from userspace? Not that this explains why we're doing it even for filedescriptors. -- dwmw2 - To unsubscribe from this list: send the line "unsubscribe linux-arch" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
