--- libtop.c.orig 2012-05-03 14:35:48.000000000 +0200 +++ libtop.c 2012-05-03 14:41:36.000000000 +0200 @@ -23,6 +23,7 @@ #include #include #include +#include #include #include #include @@ -1458,6 +1459,7 @@ libtop_pinfo_update_kernmem_info(task_t task, libtop_pinfo_t* pinfo) { kern_return_t kr; +#ifdef TASK_KERNELMEMORY_INFO_COUNT mach_msg_type_number_t count = TASK_KERNELMEMORY_INFO_COUNT; pinfo->psamp.p_palloc = pinfo->psamp.palloc; @@ -1466,6 +1468,9 @@ pinfo->psamp.p_sfree = pinfo->psamp.sfree; kr = task_info(task, TASK_KERNELMEMORY_INFO, (task_info_t)&pinfo->psamp.palloc, &count); +#else + memset(&pinfo->psamp.palloc, 0, sizeof(pinfo->psamp.palloc)); +#endif return kr; } @@ -1630,9 +1635,11 @@ } switch (info.share_mode) { +#ifdef SM_LARGE_PAGE case SM_LARGE_PAGE: // Treat SM_LARGE_PAGE the same as SM_PRIVATE // since they are not shareable and are wired. +#endif case SM_PRIVATE: rprvt += info.private_pages_resident * pagesize; rprvt += info.shared_pages_resident * pagesize;