Messages in this thread | | | Date | Tue, 21 Jan 2014 09:06:59 -0800 | From | "H. Peter Anvin" <> | Subject | Re: [PATCH 0/8] Update kernel uabi header files for x32 |
| |
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
| |