Please use GitHub pull requests for new patches. Phabricator shutdown timeline
Changeset View
Changeset View
Standalone View
Standalone View
compiler-rt/lib/sanitizer_common/sanitizer_procmaps_bsd.cpp
Show All 33 Lines | |||||
#include <osreldate.h> | #include <osreldate.h> | ||||
#if __FreeBSD_version <= 902001 // v9.2 | #if __FreeBSD_version <= 902001 // v9.2 | ||||
#define kinfo_vmentry xkinfo_vmentry | #define kinfo_vmentry xkinfo_vmentry | ||||
#endif | #endif | ||||
#endif | #endif | ||||
namespace __sanitizer { | namespace __sanitizer { | ||||
#if SANITIZER_FREEBSD | |||||
void GetMemoryProfile(fill_profile_f cb, uptr *stats) { | |||||
const int Mib[] = { | |||||
CTL_KERN, | |||||
KERN_PROC, | |||||
KERN_PROC_PID, | |||||
getpid() | |||||
}; | |||||
struct kinfo_proc InfoProc; | |||||
uptr Len = sizeof(InfoProc); | |||||
CHECK_EQ(internal_sysctl(Mib, ARRAY_SIZE(Mib), nullptr, (uptr *)&InfoProc, &Len, 0), 0); | |||||
cb(0, InfoProc.ki_rssize * GetPageSizeCached(), false, stats); | |||||
} | |||||
#endif | |||||
void ReadProcMaps(ProcSelfMapsBuff *proc_maps) { | void ReadProcMaps(ProcSelfMapsBuff *proc_maps) { | ||||
const int Mib[] = { | const int Mib[] = { | ||||
#if SANITIZER_FREEBSD | #if SANITIZER_FREEBSD | ||||
CTL_KERN, | CTL_KERN, | ||||
KERN_PROC, | KERN_PROC, | ||||
KERN_PROC_VMMAP, | KERN_PROC_VMMAP, | ||||
getpid() | getpid() | ||||
#elif SANITIZER_NETBSD | #elif SANITIZER_NETBSD | ||||
▲ Show 20 Lines • Show All 63 Lines • Show Last 20 Lines |