On 12/27/2013 02:14 PM, H.J. Lu wrote: > X32 uses the same kernel system call interface as x86-64 for many > system calls. However, "long" is 64-bit for x86-64 and is 32-bit for > x32. Where long or unsigned long are used in struct types for such > system calls, they are wrong for x32. __kernel_[u]long_t is [unsigned] > long for all ABIs other than x32. I am submitting 8 patches to replace > long or unsigned long with __kernel_[u]long_t so that those struct types > can be used with x32 system calls. > > H.J. Lu (8): > Use __kernel_long_t in struct timex > Use __kernel_long_t/__kernel_ulong_t in <linux/resource.h> > Use __kernel_ulong_t in uapi struct ipc64_perm > Use __kernel_long_t in struct msgbuf > Use __kernel_ulong_t in struct msqid64_ds > Use __kernel_ulong_t in x86 struct semid64_ds > Use __kernel_ulong_t in shmid64_ds/shminfo64/shm_info > Use __kernel_long_t in struct mq_attr > As Catalin indirectly pointed out, I had made a followup to the wrong version of the patchset (because I commented to Christoph's feedback.) This is threaded to the proper version (without unnecessary #if __BITS_PER_LONG.) -hpa -- To unsubscribe from this list: send the line "unsubscribe linux-arch" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html