This is the mail archive of the libc-alpha@sourceware.org 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: 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


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