Link sanitized programs on NetBSD with -lkvm
authorKamil Rytarowski <n54@gmx.com>
Sat, 20 Jan 2018 01:03:45 +0000 (01:03 +0000)
committerKamil Rytarowski <n54@gmx.com>
Sat, 20 Jan 2018 01:03:45 +0000 (01:03 +0000)
Summary:
kvm - kernel memory interface

The kvm(3) functions like kvm_open(), kvm_getargv() or kvm_getenvv()
are used in programs that can request information about a kernel and
its processes. The LLVM sanitizers will make use of them on NetBSD.

Sponsored by <The NetBSD Foundation>

Reviewers: joerg, vitalybuka, dvyukov

Reviewed By: vitalybuka

Subscribers: llvm-commits, cfe-commits, #sanitizers

Tags: #sanitizers

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

llvm-svn: 323022

clang/lib/Driver/ToolChains/CommonArgs.cpp

index f268801..1ba17ab 100644 (file)
@@ -555,6 +555,9 @@ void tools::linkSanitizerRuntimeDeps(const ToolChain &TC,
   // Required for backtrace on some OSes
   if (TC.getTriple().getOS() == llvm::Triple::NetBSD)
     CmdArgs.push_back("-lexecinfo");
+  // Required for kvm (kernel memory interface) on some OSes
+  if (TC.getTriple().getOS() == llvm::Triple::NetBSD)
+    CmdArgs.push_back("-lkvm");
 }
 
 static void