This is the mail archive of the mailing list for the glibc project.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH 11/27] [AARCH64] Syscalls for ILP32 are passed always via 64bit values.

On Wed, Jun 22, 2016 at 04:49:52PM +0100, Catalin Marinas wrote:
> On Tue, Jun 21, 2016 at 08:06:55AM +0300, Yury Norov wrote:
> > This patch adds support for ILP32 syscalls, sign and zero extending
> > where needed.  Unlike LP64, pointers are 32bit and need to be zero
> > extended rather than the standard sign extend that the code would do.
> > We take advatage of ssize_t being long rather than int for ILP32,
> > to get this correct.
> Unless I misunderstand what this patch does, I thought we agreed that
> 32-bit arguments are passed as 32-bit values and it is the kernel's
> responsibility to zero or sign-extend the upper half (IOW, assume
> garbage just like the PCS ABI).
> We are still debating whether 64-bit values are passed in one or two
> registers but this doesn't change the situation of 32-bit values like
> pointers.
> -- 
> Catalin

Hi Catalin,

I dropped this patch with no regressions. It might be needed it we
choose s390-like wrappers, but this series is not about it anyway.

BTW, what about 64-bit values passing? Any new comments?


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]