[lldb] Support "eflags" register name in generic reg fallback
Enhance the generic register fallback code to support "eflags" register name in addition to "rflags", as the former is used by gdbserver. This permits lldb-server to recognize the generic flags register when interfacing with gdbserver-style target.xml (i.e. without generic="" attributes), and therefore aligns ABI plugins' AugmentRegisterInfo() between lldb-server and gdbserver. Differential Revision: https://reviews.llvm.org/D108548
This commit is contained in:
parent
2c5568a6a9
commit
c01b76e733
|
@ -933,6 +933,8 @@ uint32_t ABISysV_x86_64::GetGenericNum(llvm::StringRef name) {
|
|||
.Case("rsp", LLDB_REGNUM_GENERIC_SP)
|
||||
.Case("rbp", LLDB_REGNUM_GENERIC_FP)
|
||||
.Case("rflags", LLDB_REGNUM_GENERIC_FLAGS)
|
||||
// gdbserver uses eflags
|
||||
.Case("eflags", LLDB_REGNUM_GENERIC_FLAGS)
|
||||
.Case("rdi", LLDB_REGNUM_GENERIC_ARG1)
|
||||
.Case("rsi", LLDB_REGNUM_GENERIC_ARG2)
|
||||
.Case("rdx", LLDB_REGNUM_GENERIC_ARG3)
|
||||
|
|
|
@ -806,6 +806,8 @@ uint32_t ABIWindows_x86_64::GetGenericNum(llvm::StringRef reg) {
|
|||
.Case("rsp", LLDB_REGNUM_GENERIC_SP)
|
||||
.Case("rbp", LLDB_REGNUM_GENERIC_FP)
|
||||
.Case("rflags", LLDB_REGNUM_GENERIC_FLAGS)
|
||||
// gdbserver uses eflags
|
||||
.Case("eflags", LLDB_REGNUM_GENERIC_FLAGS)
|
||||
.Case("rcx", LLDB_REGNUM_GENERIC_ARG1)
|
||||
.Case("rdx", LLDB_REGNUM_GENERIC_ARG2)
|
||||
.Case("r8", LLDB_REGNUM_GENERIC_ARG3)
|
||||
|
|
|
@ -603,6 +603,7 @@ void DynamicRegisterInfo::Finalize(const ArchSpec &arch) {
|
|||
(strcmp(reg.name, "fp") == 0))
|
||||
reg.kinds[eRegisterKindGeneric] = LLDB_REGNUM_GENERIC_FP;
|
||||
else if ((strcmp(reg.name, "rflags") == 0) ||
|
||||
(strcmp(reg.name, "eflags") == 0) ||
|
||||
(strcmp(reg.name, "flags") == 0))
|
||||
reg.kinds[eRegisterKindGeneric] = LLDB_REGNUM_GENERIC_FLAGS;
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue