summaryrefslogtreecommitdiffstats
path: root/lldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_arm.h
diff options
context:
space:
mode:
authorTamas Berghammer <tberghammer@google.com>2015-10-23 13:36:31 +0000
committerTamas Berghammer <tberghammer@google.com>2015-10-23 13:36:31 +0000
commitce26b7a6eee4cb7d6a76d6642a2543426307fbca (patch)
tree6be81f51f011d76fa8e739453fedd27093a098f5 /lldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_arm.h
parent422b3ff1205bf72a845a8a7c50080796018338d3 (diff)
downloadbcm5719-llvm-ce26b7a6eee4cb7d6a76d6642a2543426307fbca.tar.gz
bcm5719-llvm-ce26b7a6eee4cb7d6a76d6642a2543426307fbca.zip
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
Diffstat (limited to 'lldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_arm.h')
-rw-r--r--lldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_arm.h11
1 files changed, 11 insertions, 0 deletions
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; }
OpenPOWER on IntegriCloud