Re: [PATCH] Use __kernel_long_t/__kernel_ulong_t in <linux/resource.h>

From: H.J. Lu
Date: Thu Dec 26 2013 - 08:53:03 EST

On Thu, Dec 26, 2013 at 2:03 AM, Christoph Hellwig <hch@xxxxxxxxxxxxx> wrote:
> On Wed, Dec 25, 2013 at 06:54:47AM -0800, H.J. Lu wrote:
>> Both x32 and x86-64 use the same struct rusage and struct rlimit for
>> system calls. But x32 log is 32-bit. This patch change uapi
>> <linux/resource.h> to use __kernel_long_t in struct rusage and
>> __kernel_ulong_t in and struct rlimit.
> a) please send all your related patches as a series

My patches are independent of each other. They can
be applied in order.

> b) explain how these changes to shared ABI headers:
> 1) do not break any architecture, especially mips N32 which is
> the MIPS equivalent of x32

I am not familiar with N32 system call interface. My patch
may break N32 if N32 __kernel_long_t doesn't match
what is used. I will update my patches to limit my changes
to __BITS_PER_LONG == 64.

> 2) do not break existing x32 binaries
> 3) fix existing and future x32 binaries

My patches just update kernel uabi header files to match
x32 system calls. They don't break any x32 binaries,
current and future.

> c) why you suddenly need these changes now and not when the x32 ABI
> support was submitted and hopefully heavily tested

Kernel headers had been wrong for -m32/-mx32 on x86-64
for a long long time. Linux/x86-64 normally use header
files from glibc, which avoids broken kernel header files.
Kernel uabi header files fix -m32, but not -mx32, which I am
working on now.


To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at
Please read the FAQ at