From 16a816a19e2a8c65cf34dbf2ef9d7497b200c0b1 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Micha=C5=82=20G=C3=B3rny?= Date: Fri, 29 Oct 2021 20:46:32 +0200 Subject: [PATCH] [lldb] [gdb-remote] Fix processing generic regnums Fix regression in processing generic regnums that was introduced in fa456505b80b0cf83647a1b26713e4d3b38eccc2 ("[lldb] [gdb-remote] Refactor getting remote regs to use local vector"). Since then, the "generic" field was wrongly interpreted as integer rather than string constant. Thanks to Ted Woodward for noticing and providing the correct code. --- lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp b/lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp index a6f48b0..4f78ae4 100644 --- a/lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp +++ b/lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp @@ -492,7 +492,7 @@ void ProcessGDBRemote::BuildDynamicRegisterInfo(bool force) { } else if (name.equals("dwarf")) { value.getAsInteger(0, reg_info.regnum_dwarf); } else if (name.equals("generic")) { - value.getAsInteger(0, reg_info.regnum_generic); + reg_info.regnum_generic = Args::StringToGenericRegister(value); } else if (name.equals("container-regs")) { SplitCommaSeparatedRegisterNumberString(value, reg_info.value_regs, 16); } else if (name.equals("invalidate-regs")) { -- 2.7.4