svn commit: r222555 - in stable/8/sys: amd64/linux32
compat/freebsd32 i386/linux kern
Artem Belevich
art at FreeBSD.org
Wed Jun 1 05:50:25 UTC 2011
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 {
More information about the svn-src-all
mailing list