summaryrefslogtreecommitdiffstats
path: root/lldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_x86_64.h
diff options
context:
space:
mode:
Diffstat (limited to 'lldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_x86_64.h')
-rw-r--r--lldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_x86_64.h48
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 &reg_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__)
OpenPOWER on IntegriCloud