$NetBSD: patch-al,v 1.5 2007/06/25 21:18:52 joerg Exp $

--- sysdeps/freebsd/procmem.c.orig	2005-12-12 10:09:39.000000000 +0000
+++ sysdeps/freebsd/procmem.c
@@ -41,7 +41,9 @@
 
 #include <sys/vnode.h>
 #include <ufs/ufs/quota.h>
+#if !defined(__DragonFly__)
 #include <ufs/ufs/inode.h>
+#endif
 
 #include <sys/ucred.h>
 #if (!defined __OpenBSD__) && (!defined __bsdi__)
@@ -63,6 +65,10 @@
 #include <uvm/uvm.h>
 #endif
 
+#ifdef __NetBSD__
+#include <sys/resourcevar.h>
+#endif
+
 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;
 #else
