This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Re: PATCH: Add x32 fallocate/posix_fadvise/posix_fallocate
On Thu, May 17, 2012 at 2:46 PM, H.J. Lu <hjl.tools@gmail.com> wrote:
> On Thu, May 17, 2012 at 2:33 PM, Roland McGrath <roland@hack.frob.com> wrote:
>> There seem to be a bunch of these coming up. ?Repeating a one-off hack for
>> every one does not feel right.
>>
>> All of these are cases where every x32 kernel has the syscalls in question,
>> even though some other machines' Linux kernels might not. ?So while we have
>> individual .c files now for all these, they could be handled by a mechanism
>> like syscalls.list for configurations where every supported kernel has the
>> calls.
>>
>> I think that's the right thing to do. ?Soup up syscalls.list with a way to
>> mark calls (or particular arguments and return value individually) as
>> needing full words. ?Then you can just add a linux/x32/syscalls.list to
>> cover all of them.
>>
>
> Those implementations are in C, not assembly. ?How can
> syscalls.list help here? ?There are no problems with system
> callsimplemented in assembly since everything is passed
> in register.
I see what you meant. Here is a patch to add x32 syscalls.list.
I need to keep x32 posix_fallocate.c since it passes a fixed
value to system call. OK to install?
Thanks.
--
H.J.
----
* sysdeps/unix/sysv/linux/x86_64/x32/syscalls.list: New file.
diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/syscalls.list
b/sysdeps/unix/sysv/linux/x86_64/x32/syscalls.list
new file mode 100644
index 0000000..7edb6fd
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/x86_64/x32/syscalls.list
@@ -0,0 +1,6 @@
+# File name Caller Syscall name # args Strong name Weak names
+
+fallocate - fallocate Ci:iiii fallocate fallocate64
+posix_fadvise - fadvise64 Vi:iiii posix_fadvise posix_fadvise64
+preadv - preadv Ci:ipii preadv preadv64
+pwritev - pwritev Ci:ipii pwritev pwritev64