diff options
Diffstat (limited to 'lldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_x86_64.h')
| -rw-r--r-- | lldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_x86_64.h | 48 |
1 files changed, 24 insertions, 24 deletions
diff --git a/lldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_x86_64.h b/lldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_x86_64.h index c6edcf6e442..f410a3750bf 100644 --- a/lldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_x86_64.h +++ b/lldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_x86_64.h @@ -7,11 +7,12 @@ // //===----------------------------------------------------------------------===// +#if defined(__i386__) || defined(__x86_64__) #ifndef lldb_NativeRegisterContextLinux_x86_64_h #define lldb_NativeRegisterContextLinux_x86_64_h -#include "lldb/Host/common/NativeRegisterContextRegisterInfo.h" +#include "Plugins/Process/Linux/NativeRegisterContextLinux.h" #include "Plugins/Process/Utility/RegisterContext_x86.h" #include "Plugins/Process/Utility/lldb-x86-register-enums.h" @@ -20,10 +21,12 @@ namespace process_linux { class NativeProcessLinux; - class NativeRegisterContextLinux_x86_64 : public NativeRegisterContextRegisterInfo + class NativeRegisterContextLinux_x86_64 : public NativeRegisterContextLinux { public: - NativeRegisterContextLinux_x86_64 (NativeThreadProtocol &native_thread, uint32_t concrete_frame_idx, RegisterInfoInterface *reg_info_interface_p); + NativeRegisterContextLinux_x86_64 (const ArchSpec& target_arch, + NativeThreadProtocol &native_thread, + uint32_t concrete_frame_idx); uint32_t GetRegisterSetCount () const override; @@ -75,6 +78,22 @@ namespace process_linux { uint32_t NumSupportedHardwareWatchpoints() override; + protected: + void* + GetGPRBuffer() override { return &m_gpr_x86_64; } + + void* + GetFPRBuffer() override; + + size_t + GetFPRSize() override; + + Error + ReadFPR() override; + + Error + WriteFPR() override; + private: // Private member types. @@ -119,14 +138,8 @@ namespace process_linux { uint64_t m_gpr_x86_64[k_num_gpr_registers_x86_64]; // Private member methods. - Error - WriteRegister(const uint32_t reg, const RegisterValue &value); - bool IsRegisterSetAvailable (uint32_t set_index) const; - lldb::ByteOrder - GetByteOrder() const; - bool IsGPR(uint32_t reg_index) const; @@ -137,9 +150,7 @@ namespace process_linux { IsFPR(uint32_t reg_index) const; bool - WriteFPR(); - - bool IsFPR(uint32_t reg_index, FPRType fpr_type) const; + IsFPR(uint32_t reg_index, FPRType fpr_type) const; bool CopyXSTATEtoYMM (uint32_t reg_index, lldb::ByteOrder byte_order); @@ -149,18 +160,6 @@ namespace process_linux { bool IsAVX (uint32_t reg_index) const; - - bool - ReadFPR (); - - Error - ReadRegisterRaw (uint32_t reg_index, RegisterValue ®_value); - - bool - ReadGPR(); - - bool - WriteGPR(); }; } // namespace process_linux @@ -168,3 +167,4 @@ namespace process_linux { #endif // #ifndef lldb_NativeRegisterContextLinux_x86_64_h +#endif // defined(__i386__) || defined(__x86_64__) |

