summaryrefslogtreecommitdiffstats
path: root/sys/i386/linux
diff options
context:
space:
mode:
authoravg <avg@FreeBSD.org>2011-03-12 08:51:43 +0000
committeravg <avg@FreeBSD.org>2011-03-12 08:51:43 +0000
commit666906fcd7f2ffdba78d0708061c996f1ed8f1f7 (patch)
tree28fdd9b02751f3c304b994229f385ab95f626ef5 /sys/i386/linux
parent1878bfa86d6920b1e8e1eeb5e617a6733694c3dd (diff)
downloadFreeBSD-src-666906fcd7f2ffdba78d0708061c996f1ed8f1f7.zip
FreeBSD-src-666906fcd7f2ffdba78d0708061c996f1ed8f1f7.tar.gz
add DTrace systrace support for linux32 and freebsd32 on amd64 syscalls
This commits makes necessary changes in syscall/sysent generation infrastructure. PR: kern/152822 Submitted by: Artem Belevich <fbsdlist@src.cx> Reviewed by: jhb (ealier version) MFC after: 3 weeks
Diffstat (limited to 'sys/i386/linux')
-rw-r--r--sys/i386/linux/Makefile8
-rw-r--r--sys/i386/linux/syscalls.conf4
-rw-r--r--sys/i386/linux/syscalls.master6
3 files changed, 10 insertions, 8 deletions
diff --git a/sys/i386/linux/Makefile b/sys/i386/linux/Makefile
index bd6b32a..c8899e6 100644
--- a/sys/i386/linux/Makefile
+++ b/sys/i386/linux/Makefile
@@ -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
diff --git a/sys/i386/linux/syscalls.conf b/sys/i386/linux/syscalls.conf
index 87dfbfe..29f3792 100644
--- a/sys/i386/linux/syscalls.conf
+++ b/sys/i386/linux/syscalls.conf
@@ -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"
diff --git a/sys/i386/linux/syscalls.master b/sys/i386/linux/syscalls.master
index a5705cc..7212a08 100644
--- a/sys/i386/linux/syscalls.master
+++ b/sys/i386/linux/syscalls.master
@@ -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, \
OpenPOWER on IntegriCloud