[klibc] [patch] s390: vfork support
H. Peter Anvin
hpa at zytor.com
Sat Jun 10 12:13:19 PDT 2006
Heiko Carstens wrote:
> s390 has two ways to deal with syscalls with six parameters: the old one
> is to put all six arguments in a structure and pass a pointer to the
> structure with the syscall (see e.g. s390 mmap implementation).
> The new one is to put the additional parameters in registers too, that
> is %r7 for the 6th argument.
> And yes, you're right. We need special arch code for the following syscalls:
> sys_futex (not supported in klibc, yet(?))
> sys_sync_file_range (only on s390 because of the off_t arguments)
I just implemented a new facility in the klibc build: it now generates a
list of types present in SYSCALLS.def, and queries the C compiler for
the type sizes. The end result is a Perl hash, %typesize, which
contains the sizes of all the syscall argument types plus a few common
types like "void *". The purpose of this, of course, is to let the stub
generator know how many registers a particular argument requires; the
stub generated can be adjusted accordingly.
More information about the klibc