summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPavel Labath <labath@google.com>2016-11-30 10:17:58 +0000
committerPavel Labath <labath@google.com>2016-11-30 10:17:58 +0000
commit27469faaa7115d98519c5313097a43b99edefd5a (patch)
tree580eb4253d9224f8822b51194196c79f27c35e2c
parente6ba5efa80465f27463af3146ae59144a06742d1 (diff)
downloadbcm5719-llvm-27469faaa7115d98519c5313097a43b99edefd5a.tar.gz
bcm5719-llvm-27469faaa7115d98519c5313097a43b99edefd5a.zip
Remove an x86-ism from RegisterInfoInterface
Summary: While adding FPR support to x86 elf core files (D26300), we ended up adding a very x86-specific function to the general RegisterInfoInterface class, which I didn't catch in review. This removes that function. The only reason we needed it was to find the offset of the FXSAVE area. This is the same as the offset of the first register within that area, so we might as well use that. Reviewers: clayborg, dvlahovski Subscribers: lldb-commits Differential Revision: https://reviews.llvm.org/D27222 llvm-svn: 288236
-rw-r--r--lldb/source/Plugins/Process/Utility/RegisterContextLinux_i386.cpp4
-rw-r--r--lldb/source/Plugins/Process/Utility/RegisterContextLinux_i386.h2
-rw-r--r--lldb/source/Plugins/Process/Utility/RegisterContextLinux_x86_64.cpp5
-rw-r--r--lldb/source/Plugins/Process/Utility/RegisterContextLinux_x86_64.h2
-rw-r--r--lldb/source/Plugins/Process/Utility/RegisterContextPOSIX_x86.cpp2
-rw-r--r--lldb/source/Plugins/Process/Utility/RegisterInfoInterface.h2
6 files changed, 1 insertions, 16 deletions
diff --git a/lldb/source/Plugins/Process/Utility/RegisterContextLinux_i386.cpp b/lldb/source/Plugins/Process/Utility/RegisterContextLinux_i386.cpp
index 2eebaddcecc..6563796db12 100644
--- a/lldb/source/Plugins/Process/Utility/RegisterContextLinux_i386.cpp
+++ b/lldb/source/Plugins/Process/Utility/RegisterContextLinux_i386.cpp
@@ -111,10 +111,6 @@ RegisterContextLinux_i386::RegisterContextLinux_i386(
size_t RegisterContextLinux_i386::GetGPRSize() const { return sizeof(GPR); }
-size_t RegisterContextLinux_i386::GetFXSAVEOffset() const {
- return (LLVM_EXTENSION offsetof(UserArea, i387));
-}
-
const RegisterInfo *RegisterContextLinux_i386::GetRegisterInfo() const {
switch (m_target_arch.GetMachine()) {
case llvm::Triple::x86:
diff --git a/lldb/source/Plugins/Process/Utility/RegisterContextLinux_i386.h b/lldb/source/Plugins/Process/Utility/RegisterContextLinux_i386.h
index bb6707b0ed7..fbf803789cc 100644
--- a/lldb/source/Plugins/Process/Utility/RegisterContextLinux_i386.h
+++ b/lldb/source/Plugins/Process/Utility/RegisterContextLinux_i386.h
@@ -18,8 +18,6 @@ public:
size_t GetGPRSize() const override;
- size_t GetFXSAVEOffset() const override;
-
const lldb_private::RegisterInfo *GetRegisterInfo() const override;
uint32_t GetRegisterCount() const override;
diff --git a/lldb/source/Plugins/Process/Utility/RegisterContextLinux_x86_64.cpp b/lldb/source/Plugins/Process/Utility/RegisterContextLinux_x86_64.cpp
index 6f4bb800c4d..526b3eca81a 100644
--- a/lldb/source/Plugins/Process/Utility/RegisterContextLinux_x86_64.cpp
+++ b/lldb/source/Plugins/Process/Utility/RegisterContextLinux_x86_64.cpp
@@ -179,11 +179,6 @@ RegisterContextLinux_x86_64::RegisterContextLinux_x86_64(
size_t RegisterContextLinux_x86_64::GetGPRSize() const { return sizeof(GPR); }
-size_t RegisterContextLinux_x86_64::GetFXSAVEOffset() const {
- return (LLVM_EXTENSION offsetof(UserArea, fpr) +
- LLVM_EXTENSION offsetof(FPR, xstate));
-}
-
const std::vector<lldb_private::RegisterInfo> *
RegisterContextLinux_x86_64::GetDynamicRegisterInfoP() const {
return &d_register_infos;
diff --git a/lldb/source/Plugins/Process/Utility/RegisterContextLinux_x86_64.h b/lldb/source/Plugins/Process/Utility/RegisterContextLinux_x86_64.h
index e9e3e8bffde..99a4cb73679 100644
--- a/lldb/source/Plugins/Process/Utility/RegisterContextLinux_x86_64.h
+++ b/lldb/source/Plugins/Process/Utility/RegisterContextLinux_x86_64.h
@@ -18,8 +18,6 @@ public:
size_t GetGPRSize() const override;
- size_t GetFXSAVEOffset() const override;
-
const lldb_private::RegisterInfo *GetRegisterInfo() const override;
uint32_t GetRegisterCount() const override;
diff --git a/lldb/source/Plugins/Process/Utility/RegisterContextPOSIX_x86.cpp b/lldb/source/Plugins/Process/Utility/RegisterContextPOSIX_x86.cpp
index d6f67cbc0bd..67134aabc33 100644
--- a/lldb/source/Plugins/Process/Utility/RegisterContextPOSIX_x86.cpp
+++ b/lldb/source/Plugins/Process/Utility/RegisterContextPOSIX_x86.cpp
@@ -420,7 +420,7 @@ size_t RegisterContextPOSIX_x86::GetGPRSize() {
}
size_t RegisterContextPOSIX_x86::GetFXSAVEOffset() {
- return m_register_info_ap->GetFXSAVEOffset();
+ return GetRegisterInfo()[m_reg_info.first_fpr].byte_offset;
}
const RegisterInfo *RegisterContextPOSIX_x86::GetRegisterInfo() {
diff --git a/lldb/source/Plugins/Process/Utility/RegisterInfoInterface.h b/lldb/source/Plugins/Process/Utility/RegisterInfoInterface.h
index a0776407908..12db366d7a5 100644
--- a/lldb/source/Plugins/Process/Utility/RegisterInfoInterface.h
+++ b/lldb/source/Plugins/Process/Utility/RegisterInfoInterface.h
@@ -29,8 +29,6 @@ public:
virtual size_t GetGPRSize() const = 0;
- virtual size_t GetFXSAVEOffset() const { return 0; }
-
virtual const lldb_private::RegisterInfo *GetRegisterInfo() const = 0;
// Returns the number of registers including the user registers and the
OpenPOWER on IntegriCloud