svn commit: r218610 - in head/sys: amd64/linux32 i386/linux

Dmitry Chagin dchagin at FreeBSD.org
Sat Feb 12 15:33:26 UTC 2011


Author: dchagin
Date: Sat Feb 12 15:33:25 2011
New Revision: 218610
URL: http://svn.freebsd.org/changeset/base/218610

Log:
  The fourth argument of linux_clone is a pointer to the TLS. Change clone syscall definition to match actual linux one.

Modified:
  head/sys/amd64/linux32/syscalls.master
  head/sys/i386/linux/syscalls.master

Modified: head/sys/amd64/linux32/syscalls.master
==============================================================================
--- head/sys/amd64/linux32/syscalls.master	Sat Feb 12 15:24:52 2011	(r218609)
+++ head/sys/amd64/linux32/syscalls.master	Sat Feb 12 15:33:25 2011	(r218610)
@@ -213,9 +213,8 @@
 118	AUE_FSYNC	NOPROTO	{ int fsync(int fd); }
 119	AUE_SIGRETURN	STD	{ int linux_sigreturn( \
 				    struct l_sigframe *sfp); }
-; linux uses some strange calling convention here so we have to use the dummy arg
 120	AUE_RFORK	STD	{ int linux_clone(l_int flags, void *stack, \
-				    void *parent_tidptr, int dummy, void * child_tidptr); }
+				    void *parent_tidptr, void *tls, void * child_tidptr); }
 121	AUE_SYSCTL	STD	{ int linux_setdomainname(char *name, \
 				    int len); }
 122	AUE_NULL	STD	{ int linux_newuname( \

Modified: head/sys/i386/linux/syscalls.master
==============================================================================
--- head/sys/i386/linux/syscalls.master	Sat Feb 12 15:24:52 2011	(r218609)
+++ head/sys/i386/linux/syscalls.master	Sat Feb 12 15:33:25 2011	(r218610)
@@ -214,9 +214,8 @@
 118	AUE_FSYNC	NOPROTO	{ int fsync(int fd); }
 119	AUE_SIGRETURN	STD	{ int linux_sigreturn( \
 				    struct l_sigframe *sfp); }
-; linux uses some strange calling convention here so we have to use the dummy arg
 120	AUE_RFORK	STD	{ int linux_clone(l_int flags, void *stack, \
-				    void *parent_tidptr, int dummy, void * child_tidptr); }
+				    void *parent_tidptr, void *tls, void * child_tidptr); }
 121	AUE_SYSCTL	STD	{ int linux_setdomainname(char *name, \
 				    int len); }
 122	AUE_NULL	STD	{ int linux_newuname( \


More information about the svn-src-all mailing list