xref: /netbsd-src/sys/conf/debugsyms.c (revision 8c1b3fd3c960225365eacd5291db8fb2fb98163e)
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