Module Name: src Committed By: christos Date: Sat Mar 7 18:50:01 UTC 2015
Modified Files: src/sys/arch/i386/i386: freebsd_syscall.c ibcs2_syscall.c linux_syscall.c svr4_syscall.c Log Message: adjust to new trace_{enter,exit} and dtrace To generate a diff of this commit: cvs rdiff -u -r1.39 -r1.40 src/sys/arch/i386/i386/freebsd_syscall.c cvs rdiff -u -r1.48 -r1.49 src/sys/arch/i386/i386/ibcs2_syscall.c cvs rdiff -u -r1.51 -r1.52 src/sys/arch/i386/i386/linux_syscall.c cvs rdiff -u -r1.47 -r1.48 src/sys/arch/i386/i386/svr4_syscall.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/sys/arch/i386/i386/freebsd_syscall.c diff -u src/sys/arch/i386/i386/freebsd_syscall.c:1.39 src/sys/arch/i386/i386/freebsd_syscall.c:1.40 --- src/sys/arch/i386/i386/freebsd_syscall.c:1.39 Thu Jul 12 14:13:08 2012 +++ src/sys/arch/i386/i386/freebsd_syscall.c Sat Mar 7 13:50:01 2015 @@ -1,4 +1,4 @@ -/* $NetBSD: freebsd_syscall.c,v 1.39 2012/07/12 18:13:08 dsl Exp $ */ +/* $NetBSD: freebsd_syscall.c,v 1.40 2015/03/07 18:50:01 christos Exp $ */ /*- * Copyright (c) 1998, 2000 The NetBSD Foundation, Inc. @@ -30,7 +30,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: freebsd_syscall.c,v 1.39 2012/07/12 18:13:08 dsl Exp $"); +__KERNEL_RCSID(0, "$NetBSD: freebsd_syscall.c,v 1.40 2015/03/07 18:50:01 christos Exp $"); #include <sys/param.h> #include <sys/systm.h> @@ -112,8 +112,8 @@ freebsd_syscall(struct trapframe *frame) goto bad; } - if (!__predict_false(p->p_trace_enabled) - || (error = trace_enter(code, args, callp->sy_narg)) == 0) { + if (!__predict_false(p->p_trace_enabled || KDTRACE_ENTRY(callp->sy_entry)) + || (error = trace_enter(code, callp, args)) == 0) { rval[0] = 0; rval[1] = frame->tf_edx; /* need to keep edx for shared FreeBSD bins */ error = sy_call(callp, l, args, rval); @@ -143,8 +143,8 @@ freebsd_syscall(struct trapframe *frame) break; } - if (__predict_false(p->p_trace_enabled)) - trace_exit(code, rval, error); + if (__predict_false(p->p_trace_enabled || KDTRACE_ENTRY(callp->sy_return))) + trace_exit(code, callp, args, rval, error); userret(l); } Index: src/sys/arch/i386/i386/ibcs2_syscall.c diff -u src/sys/arch/i386/i386/ibcs2_syscall.c:1.48 src/sys/arch/i386/i386/ibcs2_syscall.c:1.49 --- src/sys/arch/i386/i386/ibcs2_syscall.c:1.48 Thu Jul 12 14:13:08 2012 +++ src/sys/arch/i386/i386/ibcs2_syscall.c Sat Mar 7 13:50:01 2015 @@ -1,4 +1,4 @@ -/* $NetBSD: ibcs2_syscall.c,v 1.48 2012/07/12 18:13:08 dsl Exp $ */ +/* $NetBSD: ibcs2_syscall.c,v 1.49 2015/03/07 18:50:01 christos Exp $ */ /*- * Copyright (c) 1998, 2000 The NetBSD Foundation, Inc. @@ -30,7 +30,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: ibcs2_syscall.c,v 1.48 2012/07/12 18:13:08 dsl Exp $"); +__KERNEL_RCSID(0, "$NetBSD: ibcs2_syscall.c,v 1.49 2015/03/07 18:50:01 christos Exp $"); #if defined(_KERNEL_OPT) #include "opt_vm86.h" @@ -111,8 +111,8 @@ ibcs2_syscall(struct trapframe *frame) goto bad; } - if (!__predict_false(p->p_trace_enabled) - || (error = trace_enter(code, args, callp->sy_narg)) == 0) { + if (!__predict_false(p->p_trace_enabled || KDTRACE_ENTRY(callp->sy_entry)) + || (error = trace_enter(code, callp, args)) == 0) { rval[0] = 0; rval[1] = 0; error = sy_call(callp, l, args, rval); @@ -143,8 +143,8 @@ ibcs2_syscall(struct trapframe *frame) break; } - if (__predict_false(p->p_trace_enabled)) - trace_exit(code, rval, error); + if (__predict_false(p->p_trace_enabled || KDTRACE_ENTRY(callp->sy_return))) + trace_exit(code, callp, args, rval, error); userret(l); } Index: src/sys/arch/i386/i386/linux_syscall.c diff -u src/sys/arch/i386/i386/linux_syscall.c:1.51 src/sys/arch/i386/i386/linux_syscall.c:1.52 --- src/sys/arch/i386/i386/linux_syscall.c:1.51 Wed Sep 28 13:27:21 2011 +++ src/sys/arch/i386/i386/linux_syscall.c Sat Mar 7 13:50:01 2015 @@ -1,4 +1,4 @@ -/* $NetBSD: linux_syscall.c,v 1.51 2011/09/28 17:27:21 christos Exp $ */ +/* $NetBSD: linux_syscall.c,v 1.52 2015/03/07 18:50:01 christos Exp $ */ /*- * Copyright (c) 1998, 2000 The NetBSD Foundation, Inc. @@ -30,7 +30,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: linux_syscall.c,v 1.51 2011/09/28 17:27:21 christos Exp $"); +__KERNEL_RCSID(0, "$NetBSD: linux_syscall.c,v 1.52 2015/03/07 18:50:01 christos Exp $"); #if defined(_KERNEL_OPT) #include "opt_vm86.h" @@ -99,12 +99,10 @@ linux_syscall(struct trapframe *frame) rval[0] = 0; rval[1] = 0; - if (__predict_false(l->l_proc->p_trace_enabled)) { - error = trace_enter(code, args, callp->sy_narg); - if (__predict_true(error == 0)) { + if (__predict_false(l->l_proc->p_trace_enabled || KDTRACE_ENTRY(callp->sy_entry))) { + error = trace_enter(code, callp, args); + if (__predict_true(error == 0)) error = sy_call(callp, l, args, rval); - trace_exit(code, rval, error); - } } else error = sy_call(callp, l, args, rval); @@ -137,6 +135,8 @@ linux_syscall(struct trapframe *frame) break; } } + if (__predict_false(l->l_proc->p_trace_enabled || KDTRACE_ENTRY(callp->sy_return))) + trace_exit(code, callp, args, rval, error); userret(l); } Index: src/sys/arch/i386/i386/svr4_syscall.c diff -u src/sys/arch/i386/i386/svr4_syscall.c:1.47 src/sys/arch/i386/i386/svr4_syscall.c:1.48 --- src/sys/arch/i386/i386/svr4_syscall.c:1.47 Thu Jul 12 14:13:08 2012 +++ src/sys/arch/i386/i386/svr4_syscall.c Sat Mar 7 13:50:01 2015 @@ -1,4 +1,4 @@ -/* $NetBSD: svr4_syscall.c,v 1.47 2012/07/12 18:13:08 dsl Exp $ */ +/* $NetBSD: svr4_syscall.c,v 1.48 2015/03/07 18:50:01 christos Exp $ */ /*- * Copyright (c) 1998, 2000 The NetBSD Foundation, Inc. @@ -30,7 +30,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: svr4_syscall.c,v 1.47 2012/07/12 18:13:08 dsl Exp $"); +__KERNEL_RCSID(0, "$NetBSD: svr4_syscall.c,v 1.48 2015/03/07 18:50:01 christos Exp $"); #if defined(_KERNEL_OPT) #include "opt_vm86.h" @@ -108,8 +108,8 @@ svr4_syscall(struct trapframe *frame) goto bad; } - if (!__predict_false(p->p_trace_enabled) - || (error = trace_enter(code, args, callp->sy_narg)) == 0) { + if (!__predict_false(p->p_trace_enabled || KDTRACE_ENTRY(callp->sy_entry)) + || (error = trace_enter(code, callp, args)) == 0) { rval[0] = 0; rval[1] = 0; error = sy_call(callp, l, args, rval); @@ -140,8 +140,8 @@ svr4_syscall(struct trapframe *frame) break; } - if (__predict_false(p->p_trace_enabled)) - trace_exit(code, rval, error); + if (__predict_false(p->p_trace_enabled || KDTRACE_ENTRY(callp->sy_return))) + trace_exit(code, callp, args, rval, error); userret(l); }