mirror of
https://git.FreeBSD.org/src.git
synced 2024-12-15 10:17:20 +00:00
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
This commit is contained in:
parent
31f7ad1545
commit
56ede1074e
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=219559
@ -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
|
||||
|
@ -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"
|
||||
|
@ -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, \
|
||||
|
@ -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
|
||||
|
@ -8,4 +8,4 @@ sysmk="/dev/null"
|
||||
syscallprefix="FREEBSD32_SYS_"
|
||||
switchname="freebsd32_sysent"
|
||||
namesname="freebsd32_syscallnames"
|
||||
systrace="/dev/null"
|
||||
systrace="freebsd32_systrace_args.c"
|
||||
|
@ -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
|
||||
|
@ -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"
|
||||
|
@ -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, \
|
||||
|
@ -200,6 +200,8 @@ s/\$//g
|
||||
print > syscompat6
|
||||
print > syscompat7
|
||||
print > sysnames
|
||||
print > systrace
|
||||
print > systracetmp
|
||||
savesyscall = syscall
|
||||
next
|
||||
}
|
||||
@ -212,6 +214,8 @@ s/\$//g
|
||||
print > syscompat6
|
||||
print > syscompat7
|
||||
print > sysnames
|
||||
print > systrace
|
||||
print > systracetmp
|
||||
syscall = savesyscall
|
||||
next
|
||||
}
|
||||
@ -224,6 +228,8 @@ s/\$//g
|
||||
print > syscompat6
|
||||
print > syscompat7
|
||||
print > sysnames
|
||||
print > systrace
|
||||
print > systracetmp
|
||||
next
|
||||
}
|
||||
syscall != $1 {
|
||||
|
Loading…
Reference in New Issue
Block a user