summaryrefslogtreecommitdiff
path: root/lib/sanitizer_common/sanitizer_procmaps_freebsd.cc
diff options
context:
space:
mode:
authorViktor Kutuzov <vkutuzov@accesssoftek.com>2014-08-08 06:21:09 +0000
committerViktor Kutuzov <vkutuzov@accesssoftek.com>2014-08-08 06:21:09 +0000
commit493ff4ed3cc54b65f60abe7792618b91d80a2711 (patch)
tree9667cdb16916ac03b9aa6642536785f0ffc83223 /lib/sanitizer_common/sanitizer_procmaps_freebsd.cc
parent10f42e5e33af057275d371c93033582857ddaaba (diff)
Support getting process maps for sanitizers needs on FreeBSD in 32-bit mode
Differential Revision: http://reviews.llvm.org/D4807 git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@215185 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/sanitizer_common/sanitizer_procmaps_freebsd.cc')
-rw-r--r--lib/sanitizer_common/sanitizer_procmaps_freebsd.cc8
1 files changed, 8 insertions, 0 deletions
diff --git a/lib/sanitizer_common/sanitizer_procmaps_freebsd.cc b/lib/sanitizer_common/sanitizer_procmaps_freebsd.cc
index 157e3019e..5011b1ff1 100644
--- a/lib/sanitizer_common/sanitizer_procmaps_freebsd.cc
+++ b/lib/sanitizer_common/sanitizer_procmaps_freebsd.cc
@@ -20,6 +20,14 @@
#include <sys/sysctl.h>
#include <sys/user.h>
+// Fix 'kinfo_vmentry' definition on FreeBSD prior v9.2 in 32-bit mode.
+#if SANITIZER_FREEBSD && (SANITIZER_WORDSIZE == 32)
+# include <osreldate.h>
+# if __FreeBSD_version <= 902001 // v9.2
+# define kinfo_vmentry xkinfo_vmentry
+# endif
+#endif
+
namespace __sanitizer {
void ReadProcMaps(ProcSelfMapsBuff *proc_maps) {