From ce26b7a6eee4cb7d6a76d6642a2543426307fbca Mon Sep 17 00:00:00 2001 From: Tamas Berghammer Date: Fri, 23 Oct 2015 13:36:31 +0000 Subject: Fix arm lldb-server on aarch64 device * Use PTRACE_GETVFPREGS/PTRACE_SETVFPREGS to access the floating point registers instead of the old PTRACE_GETFPREGS/PTRACE_SETFPREGS. The new call is available since armv5. * Work around a kernel issue in PTRACE_POKEUSER with reading out the full register set, modifying the neccessary value and then writing it back. llvm-svn: 251111 --- .../Plugins/Process/Linux/NativeRegisterContextLinux_arm.h | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'lldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_arm.h') diff --git a/lldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_arm.h b/lldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_arm.h index 847edd1db25..611b36ad4db 100644 --- a/lldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_arm.h +++ b/lldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_arm.h @@ -90,6 +90,17 @@ namespace process_linux { }; protected: + Error + DoWriteRegisterValue(uint32_t offset, + const char* reg_name, + const RegisterValue &value) override; + + Error + DoReadFPR(void *buf, size_t buf_size) override; + + Error + DoWriteFPR(void *buf, size_t buf_size) override; + void* GetGPRBuffer() override { return &m_gpr_arm; } -- cgit v1.2.3