Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 1 Jun 2011 05:50:24 +0000 (UTC)
From:      Artem Belevich <art@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-8@freebsd.org
Subject:   svn commit: r222555 - in stable/8/sys: amd64/linux32 compat/freebsd32 i386/linux kern
Message-ID:  <201106010550.p515oOjk056295@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: art
Date: Wed Jun  1 05:50:24 2011
New Revision: 222555
URL: http://svn.freebsd.org/changeset/base/222555

Log:
  MFC r219559:
  
  add DTrace systrace support for linux32 and freebsd32 on amd64 syscalls
  
  This commits makes necessary changes in syscall/sysent generation
  infrastructure.
  
  PR:         kern/152822
  Reviewed by:        jhb (ealier version)
  Approved by:	avg (mentor)

Modified:
  stable/8/sys/amd64/linux32/Makefile
  stable/8/sys/amd64/linux32/syscalls.conf
  stable/8/sys/amd64/linux32/syscalls.master
  stable/8/sys/compat/freebsd32/Makefile
  stable/8/sys/compat/freebsd32/syscalls.conf
  stable/8/sys/i386/linux/Makefile
  stable/8/sys/i386/linux/syscalls.conf
  stable/8/sys/i386/linux/syscalls.master
  stable/8/sys/kern/makesyscalls.sh

Modified: stable/8/sys/amd64/linux32/Makefile
==============================================================================
--- stable/8/sys/amd64/linux32/Makefile	Wed Jun  1 05:03:17 2011	(r222554)
+++ stable/8/sys/amd64/linux32/Makefile	Wed Jun  1 05:50:24 2011	(r222555)
@@ -5,11 +5,13 @@
 all:
 	@echo "make sysent only"
 
-sysent:  linux32_sysent.c linux32_syscall.h linux32_proto.h
+sysent:  linux32_sysent.c linux32_syscall.h linux32_proto.h linux32_syscalls.c linux32_systrace_args.c
 
-linux32_sysent.c linux32_syscall.h linux32_proto.h: ../../kern/makesyscalls.sh \
+linux32_sysent.c linux32_syscall.h linux32_proto.h linux32_syscalls.c linux32_systrace_args.c: ../../kern/makesyscalls.sh \
 		syscalls.master syscalls.conf
 	-mv -f linux32_sysent.c linux32_sysent.c.bak
 	-mv -f linux32_syscall.h linux32_syscall.h.bak
 	-mv -f linux32_proto.h linux32_proto.h.bak
+	-mv -f linux32_syscalls.c linux32_syscalls.c.bak
+	-mv -f linux32_systrace_args.c linux32_systrace_args.c.bak
 	sh ../../kern/makesyscalls.sh syscalls.master syscalls.conf

Modified: stable/8/sys/amd64/linux32/syscalls.conf
==============================================================================
--- stable/8/sys/amd64/linux32/syscalls.conf	Wed Jun  1 05:03:17 2011	(r222554)
+++ stable/8/sys/amd64/linux32/syscalls.conf	Wed Jun  1 05:50:24 2011	(r222555)
@@ -1,5 +1,5 @@
 # $FreeBSD$
-sysnames="/dev/null"
+sysnames="linux32_syscalls.c"
 sysproto="linux32_proto.h"
 sysproto_h=_LINUX_SYSPROTO_H_
 syshdr="linux32_syscall.h"
@@ -8,4 +8,4 @@ sysmk="/dev/null"
 syscallprefix="LINUX_SYS_"
 switchname="linux_sysent"
 namesname="linux_syscallnames"
-systrace="/dev/null"
+systrace="linux32_systrace_args.c"

Modified: stable/8/sys/amd64/linux32/syscalls.master
==============================================================================
--- stable/8/sys/amd64/linux32/syscalls.master	Wed Jun  1 05:03:17 2011	(r222554)
+++ stable/8/sys/amd64/linux32/syscalls.master	Wed Jun  1 05:50:24 2011	(r222555)
@@ -291,7 +291,7 @@
 				    l_uid16_t *euid, l_uid16_t *suid); }
 166	AUE_NULL	UNIMPL	vm86
 167	AUE_NULL	STD	{ int linux_query_module(void); }
-168	AUE_POLL	NOPROTO	{ int poll(struct pollfd*, \
+168	AUE_POLL	NOPROTO	{ int poll(struct pollfd *fds, \
 				    unsigned int nfds, int timeout); }
 169	AUE_NULL	STD	{ int linux_nfsservctl(void); }
 170	AUE_SETRESGID	STD	{ int linux_setresgid16(l_gid16_t rgid, \

Modified: stable/8/sys/compat/freebsd32/Makefile
==============================================================================
--- stable/8/sys/compat/freebsd32/Makefile	Wed Jun  1 05:03:17 2011	(r222554)
+++ stable/8/sys/compat/freebsd32/Makefile	Wed Jun  1 05:50:24 2011	(r222555)
@@ -5,15 +5,17 @@
 all:
 	@echo "make sysent only"
 
-sysent:  freebsd32_sysent.c freebsd32_syscall.h freebsd32_proto.h
+sysent:  freebsd32_sysent.c freebsd32_syscall.h freebsd32_proto.h freebsd32_systrace_args.c
 
-freebsd32_sysent.c freebsd32_syscalls.c freebsd32_syscall.h freebsd32_proto.h: \
+freebsd32_sysent.c freebsd32_syscalls.c freebsd32_syscall.h freebsd32_proto.h freebsd32_systrace_args.c : \
 	    ../../kern/makesyscalls.sh syscalls.master syscalls.conf
 	-mv -f freebsd32_sysent.c freebsd32_sysent.c.bak
 	-mv -f freebsd32_syscalls.c freebsd32_syscalls.c.bak
 	-mv -f freebsd32_syscall.h freebsd32_syscall.h.bak
 	-mv -f freebsd32_proto.h freebsd32_proto.h.bak
+	-mv -f freebsd32_systrace_args.c  freebsd32_systrace_args.c.bak
 	sh ../../kern/makesyscalls.sh syscalls.master syscalls.conf
 
 clean:
 	rm -f freebsd32_sysent.c freebsd32_syscalls.c freebsd32_syscall.h freebsd32_proto.h
+	rm -f freebsd32_systrace_args.c 

Modified: stable/8/sys/compat/freebsd32/syscalls.conf
==============================================================================
--- stable/8/sys/compat/freebsd32/syscalls.conf	Wed Jun  1 05:03:17 2011	(r222554)
+++ stable/8/sys/compat/freebsd32/syscalls.conf	Wed Jun  1 05:50:24 2011	(r222555)
@@ -8,4 +8,4 @@ sysmk="/dev/null"
 syscallprefix="FREEBSD32_SYS_"
 switchname="freebsd32_sysent"
 namesname="freebsd32_syscallnames"
-systrace="/dev/null"
+systrace="freebsd32_systrace_args.c"

Modified: stable/8/sys/i386/linux/Makefile
==============================================================================
--- stable/8/sys/i386/linux/Makefile	Wed Jun  1 05:03:17 2011	(r222554)
+++ stable/8/sys/i386/linux/Makefile	Wed Jun  1 05:50:24 2011	(r222555)
@@ -5,11 +5,13 @@
 all:
 	@echo "make sysent only"
 
-sysent:  linux_sysent.c linux_syscall.h linux_proto.h
+sysent:  linux_sysent.c linux_syscall.h linux_proto.h linux_syscalls.c linux_systrace_args.c
 
-linux_sysent.c linux_syscall.h linux_proto.h: ../../kern/makesyscalls.sh \
-		syscalls.master syscalls.conf
+linux_sysent.c linux_syscall.h linux_proto.h linux_syscalls.c linux_systrace_args.c: \
+		../../kern/makesyscalls.sh syscalls.master syscalls.conf
 	-mv -f linux_sysent.c linux_sysent.c.bak
 	-mv -f linux_syscall.h linux_syscall.h.bak
 	-mv -f linux_proto.h linux_proto.h.bak
+	-mv -f linux_syscalls.c linux_syscalls.c.bak
+	-mv -f linux_systrace_args.c linux_systrace_args.c.bak
 	sh ../../kern/makesyscalls.sh syscalls.master syscalls.conf

Modified: stable/8/sys/i386/linux/syscalls.conf
==============================================================================
--- stable/8/sys/i386/linux/syscalls.conf	Wed Jun  1 05:03:17 2011	(r222554)
+++ stable/8/sys/i386/linux/syscalls.conf	Wed Jun  1 05:50:24 2011	(r222555)
@@ -1,5 +1,5 @@
 # $FreeBSD$
-sysnames="/dev/null"
+sysnames="linux_syscalls.c"
 sysproto="linux_proto.h"
 sysproto_h=_LINUX_SYSPROTO_H_
 syshdr="linux_syscall.h"
@@ -8,4 +8,4 @@ sysmk="/dev/null"
 syscallprefix="LINUX_SYS_"
 switchname="linux_sysent"
 namesname="linux_syscallnames"
-systrace="/dev/null"
+systrace="linux_systrace_args.c"

Modified: stable/8/sys/i386/linux/syscalls.master
==============================================================================
--- stable/8/sys/i386/linux/syscalls.master	Wed Jun  1 05:03:17 2011	(r222554)
+++ stable/8/sys/i386/linux/syscalls.master	Wed Jun  1 05:50:24 2011	(r222555)
@@ -102,7 +102,7 @@
 46	AUE_SETGID	STD	{ int linux_setgid16(l_gid16_t gid); }
 47	AUE_GETGID	STD	{ int linux_getgid16(void); }
 48	AUE_NULL	STD	{ int linux_signal(l_int sig, \
-				    l_handler_t handler); }
+				    void *handler); }
 49	AUE_GETEUID	STD	{ int linux_geteuid16(void); }
 50	AUE_GETEGID	STD	{ int linux_getegid16(void); }
 51	AUE_ACCT	NOPROTO	{ int acct(char *path); }
@@ -148,7 +148,7 @@
 				    struct timeval *tp, \
 				    struct timezone *tzp); }
 79	AUE_SETTIMEOFDAY	NOPROTO	{ int settimeofday( \
-				    struct timeval *tp, \
+				    struct timeval *tv, \
 				    struct timezone *tzp); }
 80	AUE_GETGROUPS	STD	{ int linux_getgroups16(l_uint gidsetsize, \
 				    l_gid16_t *gidset); }
@@ -293,7 +293,7 @@
 				    l_uid16_t *euid, l_uid16_t *suid); }
 166	AUE_NULL	STD	{ int linux_vm86(void); }
 167	AUE_NULL	STD	{ int linux_query_module(void); }
-168	AUE_POLL	NOPROTO	{ int poll(struct pollfd*, \
+168	AUE_POLL	NOPROTO	{ int poll(struct pollfd* fds, \
 				    unsigned int nfds, long timeout); }
 169	AUE_NULL	STD	{ int linux_nfsservctl(void); }
 170	AUE_SETRESGID	STD	{ int linux_setresgid16(l_gid16_t rgid, \

Modified: stable/8/sys/kern/makesyscalls.sh
==============================================================================
--- stable/8/sys/kern/makesyscalls.sh	Wed Jun  1 05:03:17 2011	(r222554)
+++ stable/8/sys/kern/makesyscalls.sh	Wed Jun  1 05:50:24 2011	(r222555)
@@ -190,6 +190,8 @@ s/\$//g
 		print > syscompat6
 		print > syscompat7
 		print > sysnames
+		print > systrace
+		print > systracetmp
 		savesyscall = syscall
 		next
 	}
@@ -202,6 +204,8 @@ s/\$//g
 		print > syscompat6
 		print > syscompat7
 		print > sysnames
+		print > systrace
+		print > systracetmp
 		syscall = savesyscall
 		next
 	}
@@ -214,6 +218,8 @@ s/\$//g
 		print > syscompat6
 		print > syscompat7
 		print > sysnames
+		print > systrace
+		print > systracetmp
 		next
 	}
 	syscall != $1 {



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201106010550.p515oOjk056295>