[Sanitizer] openbsd build fix
authorDavid Carlier <devnexen@gmail.com>
Sun, 2 Sep 2018 09:08:50 +0000 (09:08 +0000)
committerDavid Carlier <devnexen@gmail.com>
Sun, 2 Sep 2018 09:08:50 +0000 (09:08 +0000)
sysctl has a different signature under OpenBSD

Reviewers: krytarowski

Reviewed By: krytarowski

Differential Revision: https://reviews.llvm.org/D51572

llvm-svn: 341285

compiler-rt/lib/sanitizer_common/sanitizer_linux.cc

index 978dea5..81f0155 100644 (file)
@@ -69,6 +69,7 @@
 #endif
 #if SANITIZER_OPENBSD
 #include <sys/futex.h>
+#include <sys/sysctl.h>
 #endif
 #include <unistd.h>
 
@@ -818,7 +819,12 @@ int internal_fork() {
 #if SANITIZER_FREEBSD || SANITIZER_NETBSD || SANITIZER_OPENBSD
 int internal_sysctl(const int *name, unsigned int namelen, void *oldp,
                     uptr *oldlenp, const void *newp, uptr newlen) {
+#if SANITIZER_OPENBSD
+  return sysctl(name, namelen, oldp, (size_t *)oldlenp, (void *)newp,
+       (size_t)newlen);
+#else
   return sysctl(name, namelen, oldp, (size_t *)oldlenp, newp, (size_t)newlen);
+#endif
 }
 #endif