Index: source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.cpp =================================================================== --- source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.cpp +++ source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.cpp @@ -4197,8 +4197,8 @@ // send query extended feature packet std::stringstream packet; packet << "qXfer:" - << object.AsCString( ) << ":read:" - << annex.AsCString( ) << ":" + << object.AsCString("") << ":read:" + << annex.AsCString("") << ":" << std::hex << offset << "," << std::hex << size; Index: source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp =================================================================== --- source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp +++ source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp @@ -3761,7 +3761,6 @@ uint32_t reg_offset = 0; feature_node.ForEachChildElementWithName("reg", [&target_info, &dyn_reg_info, &prev_reg_num, ®_offset](const XMLNode ®_node) -> bool { - std::string name; std::string gdb_group; std::string gdb_type; ConstString reg_name; @@ -3788,7 +3787,7 @@ NULL }; - reg_node.ForEachAttribute([&target_info, &name, &gdb_group, &gdb_type, ®_name, &alt_name, &set_name, &value_regs, &invalidate_regs, &encoding_set, &format_set, ®_info, &prev_reg_num, ®_offset](const llvm::StringRef &name, const llvm::StringRef &value) -> bool { + reg_node.ForEachAttribute([&target_info, &gdb_group, &gdb_type, ®_name, &alt_name, &set_name, &value_regs, &invalidate_regs, &encoding_set, &format_set, ®_info, &prev_reg_num, ®_offset](const llvm::StringRef &name, const llvm::StringRef &value) -> bool { if (name == "name") { reg_name.SetString(value); @@ -3923,6 +3922,7 @@ reg_info.invalidate_regs = invalidate_regs.data(); } + ++prev_reg_num; dyn_reg_info.AddRegister(reg_info, reg_name, alt_name, set_name); return true; // Keep iterating through all "reg" elements @@ -3984,7 +3984,7 @@ { node.GetElementText(target_info.osabi); } - else if (name == "xi:include") + else if (name == "xi:include" || name == "include") { llvm::StringRef href = node.GetAttributeValue("href"); if (!href.empty())