PATCH: Add Linux/x32 sysdep.h

H.J. Lu hjl.tools@gmail.com
Wed May 16 17:40:00 GMT 2012


On Wed, May 16, 2012 at 9:49 AM, Roland McGrath <roland@hack.frob.com> wrote:
> That looks like it could pretty much all be done just by using R*_LP et al
> macros in the existing linux/x86_64/sysdep.h macros.  That would avoid the
> duplication.
>
> Leave the SYSCALL_RETURN_INT64 hack out until you're doing the llseek
> change that actually requires it.  Then we can look at it in context and
> decide what is the cleanest way to handle the special case.
>

Leaving out SYSCALL_RETURN_INT64 makes is impossible to test
the change on Linux/x32.    SYSCALL_RETURN_INT64 is used only
in sysdeps/unix/sysv/linux/x86_64/x32/llseek.S:

---
#define SYSCALL_RETURN_INT64
#include <sysdep.h>

#define SYSCALL_NAME lseek
#define SYSCALL_NARGS 3
#define SYSCALL_SYMBOL __libc_lseek64
#define SYSCALL_CANCELLABLE 1
#include <syscall-template.S>
weak_alias (__libc_lseek64, __lseek64)
libc_hidden_weak (__lseek64)
weak_alias (__libc_lseek64, lseek64)
libc_hidden_weak (lseek64)
weak_alias (__libc_lseek64, __lseek)
libc_hidden_weak (__lseek)
weak_alias (__libc_lseek64, lseek)
---

I'd like to find a solution first.

Thanks.

-- 
H.J.



More information about the Libc-alpha mailing list