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 {
_______________________________________________
svn-src-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to