diff options
author | Tamas Berghammer <tberghammer@google.com> | 2015-10-23 13:36:31 +0000 |
---|---|---|
committer | Tamas Berghammer <tberghammer@google.com> | 2015-10-23 13:36:31 +0000 |
commit | ce26b7a6eee4cb7d6a76d6642a2543426307fbca (patch) | |
tree | 6be81f51f011d76fa8e739453fedd27093a098f5 /lldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_arm.h | |
parent | 422b3ff1205bf72a845a8a7c50080796018338d3 (diff) | |
download | bcm5719-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.h | 11 |
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; } |