Index: lldb/trunk/source/Plugins/Process/Utility/RegisterContextLinux_i386.h =================================================================== --- lldb/trunk/source/Plugins/Process/Utility/RegisterContextLinux_i386.h +++ lldb/trunk/source/Plugins/Process/Utility/RegisterContextLinux_i386.h @@ -18,8 +18,6 @@ size_t GetGPRSize() const override; - size_t GetFXSAVEOffset() const override; - const lldb_private::RegisterInfo *GetRegisterInfo() const override; uint32_t GetRegisterCount() const override; Index: lldb/trunk/source/Plugins/Process/Utility/RegisterContextLinux_i386.cpp =================================================================== --- lldb/trunk/source/Plugins/Process/Utility/RegisterContextLinux_i386.cpp +++ lldb/trunk/source/Plugins/Process/Utility/RegisterContextLinux_i386.cpp @@ -111,10 +111,6 @@ 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: Index: lldb/trunk/source/Plugins/Process/Utility/RegisterContextLinux_x86_64.h =================================================================== --- lldb/trunk/source/Plugins/Process/Utility/RegisterContextLinux_x86_64.h +++ lldb/trunk/source/Plugins/Process/Utility/RegisterContextLinux_x86_64.h @@ -18,8 +18,6 @@ size_t GetGPRSize() const override; - size_t GetFXSAVEOffset() const override; - const lldb_private::RegisterInfo *GetRegisterInfo() const override; uint32_t GetRegisterCount() const override; Index: lldb/trunk/source/Plugins/Process/Utility/RegisterContextLinux_x86_64.cpp =================================================================== --- lldb/trunk/source/Plugins/Process/Utility/RegisterContextLinux_x86_64.cpp +++ lldb/trunk/source/Plugins/Process/Utility/RegisterContextLinux_x86_64.cpp @@ -179,11 +179,6 @@ 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 * RegisterContextLinux_x86_64::GetDynamicRegisterInfoP() const { return &d_register_infos; Index: lldb/trunk/source/Plugins/Process/Utility/RegisterContextPOSIX_x86.cpp =================================================================== --- lldb/trunk/source/Plugins/Process/Utility/RegisterContextPOSIX_x86.cpp +++ lldb/trunk/source/Plugins/Process/Utility/RegisterContextPOSIX_x86.cpp @@ -420,7 +420,7 @@ } 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() { Index: lldb/trunk/source/Plugins/Process/Utility/RegisterInfoInterface.h =================================================================== --- lldb/trunk/source/Plugins/Process/Utility/RegisterInfoInterface.h +++ lldb/trunk/source/Plugins/Process/Utility/RegisterInfoInterface.h @@ -29,8 +29,6 @@ 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