[lldb] Fix build on older Linux kernel versions

PERF_COUNT_SW_DUMMY is introduced in Linux 3.12.

Differential Revision: https://reviews.llvm.org/D128707
This commit is contained in:
Yi Kong
2022-06-28 15:29:38 +08:00
parent 170c4d21bd
commit b83b82f9f4

View File

@@ -15,6 +15,7 @@
#include "llvm/Support/MathExtras.h"
#include "llvm/Support/MemoryBuffer.h"
#include <linux/version.h>
#include <sys/ioctl.h>
#include <sys/mman.h>
#include <sys/syscall.h>
@@ -26,6 +27,7 @@ using namespace llvm;
Expected<LinuxPerfZeroTscConversion>
lldb_private::process_linux::LoadPerfTscConversionParameters() {
#if LINUX_VERSION_CODE >= KERNEL_VERSION(3,12,0)
lldb::pid_t pid = getpid();
perf_event_attr attr;
memset(&attr, 0, sizeof(attr));
@@ -55,6 +57,10 @@ lldb_private::process_linux::LoadPerfTscConversionParameters() {
err_cap);
return llvm::createStringError(llvm::inconvertibleErrorCode(), err_msg);
}
#else
std::string err_msg = "PERF_COUNT_SW_DUMMY requires Linux 3.12";
return llvm::createStringError(llvm::inconvertibleErrorCode(), err_msg);
#endif
}
void resource_handle::MmapDeleter::operator()(void *ptr) {