head 1.7; access; symbols pkgsrc-2023Q4:1.7.0.54 pkgsrc-2023Q4-base:1.7 pkgsrc-2023Q3:1.7.0.52 pkgsrc-2023Q3-base:1.7 pkgsrc-2023Q2:1.7.0.50 pkgsrc-2023Q2-base:1.7 pkgsrc-2023Q1:1.7.0.48 pkgsrc-2023Q1-base:1.7 pkgsrc-2022Q4:1.7.0.46 pkgsrc-2022Q4-base:1.7 pkgsrc-2022Q3:1.7.0.44 pkgsrc-2022Q3-base:1.7 pkgsrc-2022Q2:1.7.0.42 pkgsrc-2022Q2-base:1.7 pkgsrc-2022Q1:1.7.0.40 pkgsrc-2022Q1-base:1.7 pkgsrc-2021Q4:1.7.0.38 pkgsrc-2021Q4-base:1.7 pkgsrc-2021Q3:1.7.0.36 pkgsrc-2021Q3-base:1.7 pkgsrc-2021Q2:1.7.0.34 pkgsrc-2021Q2-base:1.7 pkgsrc-2021Q1:1.7.0.32 pkgsrc-2021Q1-base:1.7 pkgsrc-2020Q4:1.7.0.30 pkgsrc-2020Q4-base:1.7 pkgsrc-2020Q3:1.7.0.28 pkgsrc-2020Q3-base:1.7 pkgsrc-2020Q2:1.7.0.24 pkgsrc-2020Q2-base:1.7 pkgsrc-2020Q1:1.7.0.4 pkgsrc-2020Q1-base:1.7 pkgsrc-2019Q4:1.7.0.26 pkgsrc-2019Q4-base:1.7 pkgsrc-2019Q3:1.7.0.22 pkgsrc-2019Q3-base:1.7 pkgsrc-2019Q2:1.7.0.20 pkgsrc-2019Q2-base:1.7 pkgsrc-2019Q1:1.7.0.18 pkgsrc-2019Q1-base:1.7 pkgsrc-2018Q4:1.7.0.16 pkgsrc-2018Q4-base:1.7 pkgsrc-2018Q3:1.7.0.14 pkgsrc-2018Q3-base:1.7 pkgsrc-2018Q2:1.7.0.12 pkgsrc-2018Q2-base:1.7 pkgsrc-2018Q1:1.7.0.10 pkgsrc-2018Q1-base:1.7 pkgsrc-2017Q4:1.7.0.8 pkgsrc-2017Q4-base:1.7 pkgsrc-2017Q3:1.7.0.6 pkgsrc-2017Q3-base:1.7 pkgsrc-2017Q2:1.7.0.2 pkgsrc-2017Q2-base:1.7 pkgsrc-2017Q1:1.6.0.80 pkgsrc-2017Q1-base:1.6 pkgsrc-2016Q4:1.6.0.78 pkgsrc-2016Q4-base:1.6 pkgsrc-2016Q3:1.6.0.76 pkgsrc-2016Q3-base:1.6 pkgsrc-2016Q2:1.6.0.74 pkgsrc-2016Q2-base:1.6 pkgsrc-2016Q1:1.6.0.72 pkgsrc-2016Q1-base:1.6 pkgsrc-2015Q4:1.6.0.70 pkgsrc-2015Q4-base:1.6 pkgsrc-2015Q3:1.6.0.68 pkgsrc-2015Q3-base:1.6 pkgsrc-2015Q2:1.6.0.66 pkgsrc-2015Q2-base:1.6 pkgsrc-2015Q1:1.6.0.64 pkgsrc-2015Q1-base:1.6 pkgsrc-2014Q4:1.6.0.62 pkgsrc-2014Q4-base:1.6 pkgsrc-2014Q3:1.6.0.60 pkgsrc-2014Q3-base:1.6 pkgsrc-2014Q2:1.6.0.58 pkgsrc-2014Q2-base:1.6 pkgsrc-2014Q1:1.6.0.56 pkgsrc-2014Q1-base:1.6 pkgsrc-2013Q4:1.6.0.54 pkgsrc-2013Q4-base:1.6 pkgsrc-2013Q3:1.6.0.52 pkgsrc-2013Q3-base:1.6 pkgsrc-2013Q2:1.6.0.50 pkgsrc-2013Q2-base:1.6 pkgsrc-2013Q1:1.6.0.48 pkgsrc-2013Q1-base:1.6 pkgsrc-2012Q4:1.6.0.46 pkgsrc-2012Q4-base:1.6 pkgsrc-2012Q3:1.6.0.44 pkgsrc-2012Q3-base:1.6 pkgsrc-2012Q2:1.6.0.42 pkgsrc-2012Q2-base:1.6 pkgsrc-2012Q1:1.6.0.40 pkgsrc-2012Q1-base:1.6 pkgsrc-2011Q4:1.6.0.38 pkgsrc-2011Q4-base:1.6 pkgsrc-2011Q3:1.6.0.36 pkgsrc-2011Q3-base:1.6 pkgsrc-2011Q2:1.6.0.34 pkgsrc-2011Q2-base:1.6 pkgsrc-2011Q1:1.6.0.32 pkgsrc-2011Q1-base:1.6 pkgsrc-2010Q4:1.6.0.30 pkgsrc-2010Q4-base:1.6 pkgsrc-2010Q3:1.6.0.28 pkgsrc-2010Q3-base:1.6 pkgsrc-2010Q2:1.6.0.26 pkgsrc-2010Q2-base:1.6 pkgsrc-2010Q1:1.6.0.24 pkgsrc-2010Q1-base:1.6 pkgsrc-2009Q4:1.6.0.22 pkgsrc-2009Q4-base:1.6 pkgsrc-2009Q3:1.6.0.20 pkgsrc-2009Q3-base:1.6 pkgsrc-2009Q2:1.6.0.18 pkgsrc-2009Q2-base:1.6 pkgsrc-2009Q1:1.6.0.16 pkgsrc-2009Q1-base:1.6 pkgsrc-2008Q4:1.6.0.14 pkgsrc-2008Q4-base:1.6 pkgsrc-2008Q3:1.6.0.12 pkgsrc-2008Q3-base:1.6 cube-native-xorg:1.6.0.10 cube-native-xorg-base:1.6 pkgsrc-2008Q2:1.6.0.8 pkgsrc-2008Q2-base:1.6 cwrapper:1.6.0.6 pkgsrc-2008Q1:1.6.0.4 pkgsrc-2008Q1-base:1.6 pkgsrc-2007Q4:1.6.0.2 pkgsrc-2007Q4-base:1.6 pkgsrc-2007Q3:1.5.0.2 pkgsrc-2007Q3-base:1.5 pkgsrc-2007Q2:1.4.0.18 pkgsrc-2007Q2-base:1.4 pkgsrc-2007Q1:1.4.0.16 pkgsrc-2007Q1-base:1.4 pkgsrc-2006Q4:1.4.0.14 pkgsrc-2006Q4-base:1.4 pkgsrc-2006Q3:1.4.0.12 pkgsrc-2006Q3-base:1.4 pkgsrc-2006Q2:1.4.0.10 pkgsrc-2006Q2-base:1.4 pkgsrc-2006Q1:1.4.0.8 pkgsrc-2006Q1-base:1.4 pkgsrc-2005Q4:1.4.0.6 pkgsrc-2005Q4-base:1.4 pkgsrc-2005Q3:1.4.0.4 pkgsrc-2005Q3-base:1.4 pkgsrc-2005Q2:1.4.0.2 pkgsrc-2005Q2-base:1.4 pkgsrc-2005Q1:1.3.0.8 pkgsrc-2005Q1-base:1.3 pkgsrc-2004Q4:1.3.0.6 pkgsrc-2004Q4-base:1.3 pkgsrc-2004Q3:1.3.0.4 pkgsrc-2004Q3-base:1.3 pkgsrc-2004Q2:1.3.0.2 pkgsrc-2004Q2-base:1.3 pkgsrc-2004Q1:1.2.0.4 pkgsrc-2004Q1-base:1.2 pkgsrc-2003Q4:1.2.0.2 pkgsrc-2003Q4-base:1.2 buildlink2-base:1.2 pkgsrc-base:1.1.1.2 TNF:1.1.1; locks; strict; comment @# @; 1.7 date 2017.06.23.16.42.05; author kamil; state Exp; branches; next 1.6; commitid IKgDmhFKvn0NawWz; 1.6 date 2007.11.05.19.06.05; author drochner; state Exp; branches; next 1.5; 1.5 date 2007.09.20.21.12.10; author wiz; state Exp; branches; next 1.4; 1.4 date 2005.05.18.22.02.21; author wiz; state dead; branches; next 1.3; 1.3 date 2004.04.02.12.13.57; author jmmv; state Exp; branches; next 1.2; 1.2 date 98.11.01.23.24.19; author tron; state dead; branches; next 1.1; 1.1 date 98.10.07.13.11.35; author agc; state Exp; branches 1.1.1.1; next ; 1.1.1.1 date 98.10.07.13.11.35; author agc; state Exp; branches; next 1.1.1.2; 1.1.1.2 date 2004.04.02.12.10.18; author jmmv; state Exp; branches; next ; desc @@ 1.7 log @Correct build failure on NetBSD 8.99.1 Fallout from removal. @ text @$NetBSD: patch-al,v 1.6 2007/11/05 19:06:05 drochner Exp $ --- sysdeps/bsd/procmem.c.orig 2011-06-01 15:40:47.000000000 +0000 +++ sysdeps/bsd/procmem.c @@@@ -42,7 +42,7 @@@@ #include #include -#if (!defined __OpenBSD__) && (!defined __bsdi__) +#if (!defined __OpenBSD__) && (!defined __bsdi__) && (!defined __NetBSD__) #include #endif #include @@@@ -116,6 +116,9 @@@@ void glibtop_get_proc_mem_p (glibtop *server, glibtop_proc_mem *buf, pid_t pid) { +#if defined (__NetBSD__) + struct kinfo_proc2 *pinfo; +#else struct kinfo_proc *pinfo; struct vm_map_entry entry, *first; struct vmspace *vms, vmspace; @@@@ -127,6 +130,7 @@@@ glibtop_get_proc_mem_p (glibtop *server, #if (!defined(__FreeBSD__) || (__FreeBSD_version < 500013)) && !defined(__FreeBSD_kernel__) struct plimit plimit; #endif +#endif /* NetBSD */ int count; glibtop_init_p (server, (1L << GLIBTOP_SYSDEPS_PROC_MEM), 0); @@@@ -140,7 +144,12 @@@@ glibtop_get_proc_mem_p (glibtop *server, if (pid == 0) return; /* Get the process data */ +#if defined(__NetBSD__) + pinfo = kvm_getproc2 (server->machine.kd, KERN_PROC_PID, pid, + sizeof (*pinfo), &count); +#else pinfo = kvm_getprocs (server->machine.kd, KERN_PROC_PID, pid, &count); +#endif if ((pinfo == NULL) || (count < 1)) { glibtop_warn_io_r (server, "kvm_getprocs (%d)", pid); return; @@@@ -157,6 +166,15 @@@@ glibtop_get_proc_mem_p (glibtop *server, buf->resident = buf->rss = (guint64) pagetok (pinfo [0].ki_rssize) << LOG1024; +#elif defined(__NetBSD__) + + buf->rss_rlim = pinfo[0].p_uru_maxrss; + buf->vsize = buf->size = (guint64)pagetok + (pinfo[0].p_vm_tsize + pinfo[0].p_vm_dsize + pinfo[0].p_vm_ssize) + << LOG1024; + buf->resident = buf->rss = (guint64)pagetok + (pinfo[0].p_vm_rssize) << LOG1024; + #else #define PROC_VMSPACE kp_proc.p_vmspace @@@@ -182,6 +200,9 @@@@ glibtop_get_proc_mem_p (glibtop *server, /* Now we get the shared memory. */ +#if defined(__NetBSD__) + buf->share = pinfo[0].p_uru_ixrss; +#else if (kvm_read (server->machine.kd, (unsigned long) pinfo [0].PROC_VMSPACE, (char *) &vmspace, sizeof (vmspace)) != sizeof (vmspace)) { @@@@ -287,6 +308,7 @@@@ glibtop_get_proc_mem_p (glibtop *server, buf->share += object.un_pager.vnp.vnp_size; #endif } +#endif /* NetBSD */ buf->flags = _glibtop_sysdeps_proc_mem | _glibtop_sysdeps_proc_mem_share; @ 1.6 log @update to 2.20.0 This switches to the new gnome-2.20 branch. pkgsrc notes: -System dependant parts were reorganized upstream, in particular there if a subtree for FreeBSD now, and one for the other BSDs. I didn't pull in the DragonFly patches because I can't decide whether to base them on the freebsd or the rest. -I've changed the NetBSD code to use kinfo_proc2 almost completely. Some vm statistics reporting might be less accurate now because some fields in proc2 seem to be unmaintained by the current kernel (eg ixrss). -Also, some libgtop functions might be able to run in the non-privileged part now, but dealing with this would require even more #ifdefs, so we should consider setting up a private subtree as FreeBSD did. -I didn't verify with older NetBSDs; kvm_getproc2() has been in the tree for quite some time so I hope it will just work without the need for excessive "#if __NetBSD_Version__ > t". @ text @d1 1 a1 1 $NetBSD$ d3 1 a3 1 --- sysdeps/bsd/procmem.c.orig 2007-04-27 00:27:34.000000000 +0200 d5 9 @ 1.5 log @Rename libgtop2 to libgtop, to match upstream name. @ text @d1 1 a1 1 $NetBSD: patch-al,v 1.5 2007/06/25 21:18:52 joerg Exp $ d3 18 a20 9 --- sysdeps/freebsd/procmem.c.orig 2005-12-12 10:09:39.000000000 +0000 +++ sysdeps/freebsd/procmem.c @@@@ -41,7 +41,9 @@@@ #include #include +#if !defined(__DragonFly__) #include +#endif d22 3 a24 5 #include #if (!defined __OpenBSD__) && (!defined __bsdi__) @@@@ -63,6 +65,10 @@@@ #include #endif d26 6 a31 2 +#ifdef __NetBSD__ +#include d33 15 a48 16 static const unsigned long _glibtop_sysdeps_proc_mem = (1L << GLIBTOP_PROC_MEM_SIZE) + (1L << GLIBTOP_PROC_MEM_VSIZE) + @@@@ -214,8 +220,11 @@@@ glibtop_get_proc_mem_p (glibtop *server, return; } -#ifdef __FreeBSD__ -#if __FreeBSD__ >= 4 +#if defined(__DragonFly__) && (__DragonFly_version >= 180000) + if (entry.maptype != VM_MAPTYPE_NORMAL && entry.maptype != VM_MAPTYPE_VPAGETABLE) + continue; +#elif defined(__FreeBSD__) || defined(__DragonFly__) +#if defined(__DragonFly__) || (defined(__FreeBSD__) && __FreeBSD__ >= 4) if (entry.eflags & (MAP_ENTRY_IS_SUB_MAP)) continue; d50 20 @ 1.4 log @Remove gnome1 packages except as needed for gnucash. Ok'd by jmmv@@ and rh@@ (gnome 1 maintainers). @ text @d1 1 a1 1 $NetBSD: patch-al,v 1.3 2004/04/02 12:13:57 jmmv Exp $ d3 11 a13 3 --- sysdeps/freebsd/prockernel.c.orig 2001-11-26 23:37:59.000000000 +0100 +++ sysdeps/freebsd/prockernel.c 2004-03-01 03:44:24.000000000 +0100 @@@@ -34,7 +34,7 @@@@ d15 2 a16 9 #include #endif -#if !defined(__bsdi__) && !(defined(__FreeBSD__) && defined(__alpha__)) +#if !defined(__bsdi__) && !(defined(__FreeBSD__) && defined(__alpha__)) && !defined(__NetBSD__) #include #endif #if defined(__FreeBSD__) && !defined(__alpha__) @@@@ -48,6 +48,14 @@@@ #include d20 1 a20 5 +#include +#include +#ifdef __arm32__ +#define KERNBASE KERNEL_BASE +#endif d23 5 a27 39 static const unsigned long _glibtop_sysdeps_proc_kernel_pstats = (1L << GLIBTOP_PROC_KERNEL_MIN_FLT) + (1L << GLIBTOP_PROC_KERNEL_MAJ_FLT) + @@@@ -101,6 +109,7 @@@@ if ((pinfo == NULL) || (count != 1)) glibtop_error_io_r (server, "kvm_getprocs (%d)", pid); +#if !defined(__NetBSD__) || !defined(SACTIVE) buf->nwchan = (unsigned long) pinfo [0].kp_proc.p_wchan &~ KERNBASE; buf->flags |= (1L << GLIBTOP_PROC_KERNEL_NWCHAN); @@@@ -112,6 +121,7 @@@@ } else { buf->wchan [0] = 0; } +#endif /* Taken from `saveuser ()' in `/usr/src/bin/ps/ps.c'. */ @@@@ -129,8 +139,16 @@@@ glibtop_suid_enter (server); +#if !defined(__NetBSD__) || !defined(SACTIVE) +#ifdef __NetBSD__ + /* On NetBSD, there is no kvm_uread(), and kvm_read() always reads + * from kernel memory. */ + + if (kvm_read (server->machine.kd, +#else if ((pinfo [0].kp_proc.p_flag & P_INMEM) && kvm_uread (server->machine.kd, &(pinfo [0]).kp_proc, +#endif (unsigned long) &u_addr->u_stats, (char *) &pstats, sizeof (pstats)) == sizeof (pstats)) { @@@@ -148,9 +166,14 @@@@ buf->flags |= _glibtop_sysdeps_proc_kernel_pstats; a28 1 +#endif d30 9 a38 17 +#ifdef __NetBSD__ + if (kvm_read (server->machine.kd, +#else if ((pinfo [0].kp_proc.p_flag & P_INMEM) && kvm_uread (server->machine.kd, &(pinfo [0]).kp_proc, +#endif (unsigned long) &u_addr->u_pcb, (char *) &pcb, sizeof (pcb)) == sizeof (pcb)) { @@@@ -167,15 +190,43 @@@@ /*xxx FreeBSD/Alpha? */ #endif #else +#ifdef __i386__ buf->kstk_esp = (u_int64_t) pcb.pcb_tss.tss_esp0; #ifdef __bsdi__ buf->kstk_eip = (u_int64_t) pcb.pcb_tss.tss_eip; a39 35 buf->kstk_eip = (u_int64_t) pcb.pcb_tss.__tss_eip; #endif +#else +#if defined(__NetBSD__) +#if defined(__m68k__) + buf->kstk_esp = (u_int64_t) pcb.pcb_usp; + buf->kstk_eip = (u_int64_t) 0; +#elif defined(__x86_64__) + buf->kstk_esp = (u_int64_t) pcb.pcb_usersp; + buf->kstk_eip = (u_int64_t) 0; +#elif (defined(__arm32__) || defined(__powerpc__)) + buf->kstk_esp = (u_int64_t) pcb.pcb_sp; + buf->kstk_eip = (u_int64_t) 0; +#elif defined(__mipsel__) + buf->kstk_esp = (u_int64_t) pcb.pcb_context[8]; + buf->kstk_eip = (u_int64_t) 0; +#elif defined(__sparc__) + buf->kstk_esp = (u_int64_t) pcb.pcb_sp; + buf->kstk_eip = (u_int64_t) pcb.pcb_pc; +#elif defined(__alpha__) + buf->kstk_esp = (u_int64_t) pcb.pcb_context[9]; + buf->kstk_eip = (u_int64_t) pcb.pcb_context[8]; +#else + /* provide some defaults for other platforms */ + buf->kstk_esp = (u_int64_t) 0; + buf->kstk_eip = (u_int64_t) 0; +#endif /* ${MACHINE_ARCH} */ +#endif /* __NetBSD__ */ buf->flags |= _glibtop_sysdeps_proc_kernel_pcb; #endif +#endif } /* Taken from `wchan ()' in `/usr/src/bin/ps/print.c'. */ @ 1.3 log @Finish move of libgtop from devel to sysutils, incomplete due to conflicts... So I now see the package was previously here; the reason for the move is to lighten a bit the devel category, which has lots of packages. @ text @d1 1 a1 1 $NetBSD: patch-al,v 1.15 2004/03/01 03:39:57 kristerw Exp $ @ 1.2 log @Move "libgtop" package to "devel" category. @ text @d1 1 a1 1 $NetBSD: patch-al,v 1.1 1998/10/07 13:11:35 agc Exp $ d3 14 a16 9 --- Makefile.in 1998/10/07 12:44:49 1.1 +++ Makefile.in 1998/10/07 12:45:27 @@@@ -48,7 +48,7 @@@@ INSTALL = @@INSTALL@@ INSTALL_PROGRAM = @@INSTALL_PROGRAM@@ INSTALL_DATA = @@INSTALL_DATA@@ -INSTALL_SCRIPT = @@INSTALL_SCRIPT@@ +INSTALL_SCRIPT = ${BSD_INSTALL_SCRIPT} transform = @@program_transform_name@@ d18 103 a120 1 NORMAL_INSTALL = : @ 1.1 log @Initial revision @ text @d1 1 a1 1 $NetBSD$ @ 1.1.1.1 log @Initial import of libgtop-0.26 into the Packages Collection. This is part of the GNOME project, and is used to retrieve system information, such as CPU usage etc. This is not yet complete, but is functional to the point where the whole thing compiles and installs. Someone else can pick this up and run with it now. @ text @@ 1.1.1.2 log @Move libgtop to the sysutils category, coming from devel. This is version 1.0.13nb4. @ text @d1 1 a1 1 $NetBSD: patch-al,v 1.15 2004/03/01 03:39:57 kristerw Exp $ d3 9 a11 14 --- sysdeps/freebsd/prockernel.c.orig 2001-11-26 23:37:59.000000000 +0100 +++ sysdeps/freebsd/prockernel.c 2004-03-01 03:44:24.000000000 +0100 @@@@ -34,7 +34,7 @@@@ #if (!defined __OpenBSD__) && (!defined __bsdi__) #include #endif -#if !defined(__bsdi__) && !(defined(__FreeBSD__) && defined(__alpha__)) +#if !defined(__bsdi__) && !(defined(__FreeBSD__) && defined(__alpha__)) && !defined(__NetBSD__) #include #endif #if defined(__FreeBSD__) && !defined(__alpha__) @@@@ -48,6 +48,14 @@@@ #include #endif d13 1 a13 103 +#ifdef __NetBSD__ +#include +#include +#ifdef __arm32__ +#define KERNBASE KERNEL_BASE +#endif +#endif + static const unsigned long _glibtop_sysdeps_proc_kernel_pstats = (1L << GLIBTOP_PROC_KERNEL_MIN_FLT) + (1L << GLIBTOP_PROC_KERNEL_MAJ_FLT) + @@@@ -101,6 +109,7 @@@@ if ((pinfo == NULL) || (count != 1)) glibtop_error_io_r (server, "kvm_getprocs (%d)", pid); +#if !defined(__NetBSD__) || !defined(SACTIVE) buf->nwchan = (unsigned long) pinfo [0].kp_proc.p_wchan &~ KERNBASE; buf->flags |= (1L << GLIBTOP_PROC_KERNEL_NWCHAN); @@@@ -112,6 +121,7 @@@@ } else { buf->wchan [0] = 0; } +#endif /* Taken from `saveuser ()' in `/usr/src/bin/ps/ps.c'. */ @@@@ -129,8 +139,16 @@@@ glibtop_suid_enter (server); +#if !defined(__NetBSD__) || !defined(SACTIVE) +#ifdef __NetBSD__ + /* On NetBSD, there is no kvm_uread(), and kvm_read() always reads + * from kernel memory. */ + + if (kvm_read (server->machine.kd, +#else if ((pinfo [0].kp_proc.p_flag & P_INMEM) && kvm_uread (server->machine.kd, &(pinfo [0]).kp_proc, +#endif (unsigned long) &u_addr->u_stats, (char *) &pstats, sizeof (pstats)) == sizeof (pstats)) { @@@@ -148,9 +166,14 @@@@ buf->flags |= _glibtop_sysdeps_proc_kernel_pstats; } +#endif +#ifdef __NetBSD__ + if (kvm_read (server->machine.kd, +#else if ((pinfo [0].kp_proc.p_flag & P_INMEM) && kvm_uread (server->machine.kd, &(pinfo [0]).kp_proc, +#endif (unsigned long) &u_addr->u_pcb, (char *) &pcb, sizeof (pcb)) == sizeof (pcb)) { @@@@ -167,15 +190,43 @@@@ /*xxx FreeBSD/Alpha? */ #endif #else +#ifdef __i386__ buf->kstk_esp = (u_int64_t) pcb.pcb_tss.tss_esp0; #ifdef __bsdi__ buf->kstk_eip = (u_int64_t) pcb.pcb_tss.tss_eip; #else buf->kstk_eip = (u_int64_t) pcb.pcb_tss.__tss_eip; #endif +#else +#if defined(__NetBSD__) +#if defined(__m68k__) + buf->kstk_esp = (u_int64_t) pcb.pcb_usp; + buf->kstk_eip = (u_int64_t) 0; +#elif defined(__x86_64__) + buf->kstk_esp = (u_int64_t) pcb.pcb_usersp; + buf->kstk_eip = (u_int64_t) 0; +#elif (defined(__arm32__) || defined(__powerpc__)) + buf->kstk_esp = (u_int64_t) pcb.pcb_sp; + buf->kstk_eip = (u_int64_t) 0; +#elif defined(__mipsel__) + buf->kstk_esp = (u_int64_t) pcb.pcb_context[8]; + buf->kstk_eip = (u_int64_t) 0; +#elif defined(__sparc__) + buf->kstk_esp = (u_int64_t) pcb.pcb_sp; + buf->kstk_eip = (u_int64_t) pcb.pcb_pc; +#elif defined(__alpha__) + buf->kstk_esp = (u_int64_t) pcb.pcb_context[9]; + buf->kstk_eip = (u_int64_t) pcb.pcb_context[8]; +#else + /* provide some defaults for other platforms */ + buf->kstk_esp = (u_int64_t) 0; + buf->kstk_eip = (u_int64_t) 0; +#endif /* ${MACHINE_ARCH} */ +#endif /* __NetBSD__ */ buf->flags |= _glibtop_sysdeps_proc_kernel_pcb; #endif +#endif } /* Taken from `wchan ()' in `/usr/src/bin/ps/print.c'. */ @