diff options
author | Michał Górny <mgorny@moritz.systems> | 2021-10-19 12:31:25 +0200 |
---|---|---|
committer | Michał Górny <mgorny@moritz.systems> | 2021-10-19 12:31:25 +0200 |
commit | ee11612ee10edd0d1f219c302f1a0abe0b46ddb3 (patch) | |
tree | 3182adbe43c19c8b84681cb717d7088946172b6b /lldb/source/Plugins/Process/gdb-remote/GDBRemoteRegisterContext.cpp | |
parent | 849b17949f18b5753592588a2290f2f3dde73ac0 (diff) | |
download | llvm-ee11612ee10edd0d1f219c302f1a0abe0b46ddb3.zip llvm-ee11612ee10edd0d1f219c302f1a0abe0b46ddb3.tar.gz llvm-ee11612ee10edd0d1f219c302f1a0abe0b46ddb3.tar.bz2 |
Revert "[lldb] [ABI/X86] Support combining xmm* and ymm*h regs into ymm*"
This reverts commit 5352ea4a721ef252129994111b83dc350ecc71da. It seems
to have broken the arm buildbot.
Diffstat (limited to 'lldb/source/Plugins/Process/gdb-remote/GDBRemoteRegisterContext.cpp')
-rw-r--r-- | lldb/source/Plugins/Process/gdb-remote/GDBRemoteRegisterContext.cpp | 66 |
1 files changed, 6 insertions, 60 deletions
diff --git a/lldb/source/Plugins/Process/gdb-remote/GDBRemoteRegisterContext.cpp b/lldb/source/Plugins/Process/gdb-remote/GDBRemoteRegisterContext.cpp index 80294ae..f0225d0 100644 --- a/lldb/source/Plugins/Process/gdb-remote/GDBRemoteRegisterContext.cpp +++ b/lldb/source/Plugins/Process/gdb-remote/GDBRemoteRegisterContext.cpp @@ -87,34 +87,10 @@ bool GDBRemoteRegisterContext::ReadRegister(const RegisterInfo *reg_info, const uint32_t reg = reg_info->kinds[eRegisterKindLLDB]; if (m_reg_valid[reg] == false) return false; - if (reg_info->value_regs && - reg_info->value_regs[0] != LLDB_INVALID_REGNUM && - reg_info->value_regs[1] != LLDB_INVALID_REGNUM) { - std::vector<char> combined_data; - uint32_t offset = 0; - for (int i = 0; reg_info->value_regs[i] != LLDB_INVALID_REGNUM; i++) { - const RegisterInfo *parent_reg = GetRegisterInfo( - eRegisterKindLLDB, reg_info->value_regs[i]); - if (!parent_reg) - return false; - combined_data.resize(offset + parent_reg->byte_size); - if (m_reg_data.CopyData(parent_reg->byte_offset, parent_reg->byte_size, - combined_data.data() + offset) != - parent_reg->byte_size) - return false; - offset += parent_reg->byte_size; - } - - Status error; - return value.SetFromMemoryData( - reg_info, combined_data.data(), combined_data.size(), - m_reg_data.GetByteOrder(), error) == combined_data.size(); - } else { - const bool partial_data_ok = false; - Status error(value.SetValueFromData( - reg_info, m_reg_data, reg_info->byte_offset, partial_data_ok)); - return error.Success(); - } + const bool partial_data_ok = false; + Status error(value.SetValueFromData( + reg_info, m_reg_data, reg_info->byte_offset, partial_data_ok)); + return error.Success(); } return false; } @@ -296,38 +272,8 @@ bool GDBRemoteRegisterContext::ReadRegisterBytes(const RegisterInfo *reg_info) { bool GDBRemoteRegisterContext::WriteRegister(const RegisterInfo *reg_info, const RegisterValue &value) { DataExtractor data; - if (value.GetData(data)) { - if (reg_info->value_regs && - reg_info->value_regs[0] != LLDB_INVALID_REGNUM && - reg_info->value_regs[1] != LLDB_INVALID_REGNUM) { - uint32_t combined_size = 0; - for (int i = 0; reg_info->value_regs[i] != LLDB_INVALID_REGNUM; i++) { - const RegisterInfo *parent_reg = GetRegisterInfo( - eRegisterKindLLDB, reg_info->value_regs[i]); - if (!parent_reg) - return false; - combined_size += parent_reg->byte_size; - } - - if (data.GetByteSize() < combined_size) - return false; - - uint32_t offset = 0; - for (int i = 0; reg_info->value_regs[i] != LLDB_INVALID_REGNUM; i++) { - const RegisterInfo *parent_reg = GetRegisterInfo( - eRegisterKindLLDB, reg_info->value_regs[i]); - assert(parent_reg); - - DataExtractor parent_data{data, offset, parent_reg->byte_size}; - if (!WriteRegisterBytes(parent_reg, parent_data, 0)) - return false; - offset += parent_reg->byte_size; - } - assert(offset == combined_size); - return true; - } else - return WriteRegisterBytes(reg_info, data, 0); - } + if (value.GetData(data)) + return WriteRegisterBytes(reg_info, data, 0); return false; } |