From decd2d770112f61c95cf1b12b29f817d6a4ddd97 Mon Sep 17 00:00:00 2001 From: Francis Ricci Date: Wed, 3 May 2017 15:00:04 +0000 Subject: Don't attempt to use mpx registers on unsupported platforms Summary: The existing cpp-level checks using PR_MPX_ENABLE_MANAGEMENT aren't sufficient, as this isn't defined for linux kernel versions below 3.19. Reviewers: valentinagiusti, zturner, labath Subscribers: lldb-commits Differential Revision: https://reviews.llvm.org/D32719 llvm-svn: 302027 --- .../test/functionalities/register/intel_xtended_registers/main.cpp | 5 +++++ .../register/intel_xtended_registers/mpx_bound_violation/main.cpp | 5 +++++ 2 files changed, 10 insertions(+) (limited to 'lldb/packages/Python/lldbsuite/test') diff --git a/lldb/packages/Python/lldbsuite/test/functionalities/register/intel_xtended_registers/main.cpp b/lldb/packages/Python/lldbsuite/test/functionalities/register/intel_xtended_registers/main.cpp index d9adb550023..3e528d281ee 100644 --- a/lldb/packages/Python/lldbsuite/test/functionalities/register/intel_xtended_registers/main.cpp +++ b/lldb/packages/Python/lldbsuite/test/functionalities/register/intel_xtended_registers/main.cpp @@ -14,6 +14,11 @@ int main(int argc, char const *argv[]) { +// PR_MPX_ENABLE_MANAGEMENT won't be defined on linux kernel versions below 3.19 +#ifndef PR_MPX_ENABLE_MANAGEMENT + return -1; +#endif + // This call returns 0 only if the CPU and the kernel support Intel(R) MPX. if (prctl(PR_MPX_ENABLE_MANAGEMENT, 0, 0, 0, 0) != 0) return -1; diff --git a/lldb/packages/Python/lldbsuite/test/functionalities/register/intel_xtended_registers/mpx_bound_violation/main.cpp b/lldb/packages/Python/lldbsuite/test/functionalities/register/intel_xtended_registers/mpx_bound_violation/main.cpp index 9c445aa8a27..b78eb9e5a2a 100644 --- a/lldb/packages/Python/lldbsuite/test/functionalities/register/intel_xtended_registers/mpx_bound_violation/main.cpp +++ b/lldb/packages/Python/lldbsuite/test/functionalities/register/intel_xtended_registers/mpx_bound_violation/main.cpp @@ -29,6 +29,11 @@ main(int argc, char const *argv[]) unsigned int rax, rbx, rcx, rdx; int array[5]; +// PR_MPX_ENABLE_MANAGEMENT won't be defined on linux kernel versions below 3.19 +#ifndef PR_MPX_ENABLE_MANAGEMENT + return -1; +#endif + // This call returns 0 only if the CPU and the kernel support Intel(R) MPX. if (prctl(PR_MPX_ENABLE_MANAGEMENT, 0, 0, 0, 0) != 0) return -1; -- cgit v1.2.3