1*8c1b3fd3Schristos /* $NetBSD: debugsyms.c,v 1.4 2015/10/06 22:13:39 christos Exp $ */ 20d7c94daSjoerg /* 30d7c94daSjoerg * This file is in the public domain. 40d7c94daSjoerg */ 50d7c94daSjoerg 60d7c94daSjoerg #include <sys/cdefs.h> 7*8c1b3fd3Schristos __KERNEL_RCSID(0, "$NetBSD: debugsyms.c,v 1.4 2015/10/06 22:13:39 christos Exp $"); 80d7c94daSjoerg 90d7c94daSjoerg #define _CALLOUT_PRIVATE 100d7c94daSjoerg #define __MUTEX_PRIVATE 11*8c1b3fd3Schristos #define __KAUTH_PRIVATE 120d7c94daSjoerg 130d7c94daSjoerg #include <sys/param.h> 140d7c94daSjoerg #include <sys/lwp.h> 150d7c94daSjoerg #include <sys/mbuf.h> 160d7c94daSjoerg #include <sys/mutex.h> 170d7c94daSjoerg #include <sys/proc.h> 180d7c94daSjoerg #include <sys/sched.h> 190d7c94daSjoerg #include <sys/sleepq.h> 200d7c94daSjoerg #include <sys/time.h> 210d7c94daSjoerg #include <sys/ucontext.h> 220d7c94daSjoerg #include <sys/uio.h> 230d7c94daSjoerg #include <sys/un.h> 240d7c94daSjoerg #include <sys/unpcb.h> 250d7c94daSjoerg #include <sys/vnode.h> 26*8c1b3fd3Schristos #include <sys/specificdata.h> 27*8c1b3fd3Schristos #include <sys/kauth.h> 28884b58c2Sad 29884b58c2Sad /* 30884b58c2Sad * Without a dummy function referencing some of the types, gcc will 31884b58c2Sad * not emit any debug information. 32884b58c2Sad */ 33884b58c2Sad proc_t *_debugsym_dummyfunc(vnode_t *vp); 34884b58c2Sad 35884b58c2Sad proc_t * _debugsym_dummyfunc(vnode_t * vp)36884b58c2Sad_debugsym_dummyfunc(vnode_t *vp) 37884b58c2Sad { 38*8c1b3fd3Schristos struct kauth_cred *cr = (kauth_cred_t)vp; 39884b58c2Sad 40*8c1b3fd3Schristos return cr->cr_uid ? ((lwp_t *)vp->v_mount)->l_proc : NULL; 41884b58c2Sad } 42