aboutsummaryrefslogtreecommitdiff
path: root/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.cpp')
-rw-r--r--lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.cpp133
1 files changed, 66 insertions, 67 deletions
diff --git a/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.cpp b/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.cpp
index db9fb37..74e3922 100644
--- a/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.cpp
+++ b/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.cpp
@@ -1052,10 +1052,10 @@ bool GDBRemoteCommunicationClient::GetGDBServerVersion() {
llvm::StringRef name, value;
bool success = false;
while (response.GetNameColonValue(name, value)) {
- if (name.equals("name")) {
+ if (name == "name") {
success = true;
m_gdb_server_name = std::string(value);
- } else if (name.equals("version")) {
+ } else if (name == "version") {
llvm::StringRef major, minor;
std::tie(major, minor) = value.split('.');
if (!major.getAsInteger(0, m_gdb_server_version))
@@ -1192,12 +1192,12 @@ bool GDBRemoteCommunicationClient::GetDefaultThreadId(lldb::tid_t &tid) {
static void ParseOSType(llvm::StringRef value, std::string &os_name,
std::string &environment) {
- if (value.equals("iossimulator") || value.equals("tvossimulator") ||
- value.equals("watchossimulator") || value.equals("xrossimulator") ||
- value.equals("visionossimulator")) {
+ if (value == "iossimulator" || value == "tvossimulator" ||
+ value == "watchossimulator" || value == "xrossimulator" ||
+ value == "visionossimulator") {
environment = "simulator";
os_name = value.drop_back(environment.size()).str();
- } else if (value.equals("maccatalyst")) {
+ } else if (value == "maccatalyst") {
os_name = "ios";
environment = "macabi";
} else {
@@ -1230,44 +1230,44 @@ bool GDBRemoteCommunicationClient::GetHostInfo(bool force) {
ByteOrder byte_order = eByteOrderInvalid;
uint32_t num_keys_decoded = 0;
while (response.GetNameColonValue(name, value)) {
- if (name.equals("cputype")) {
+ if (name == "cputype") {
// exception type in big endian hex
if (!value.getAsInteger(0, cpu))
++num_keys_decoded;
- } else if (name.equals("cpusubtype")) {
+ } else if (name == "cpusubtype") {
// exception count in big endian hex
if (!value.getAsInteger(0, sub))
++num_keys_decoded;
- } else if (name.equals("arch")) {
+ } else if (name == "arch") {
arch_name = std::string(value);
++num_keys_decoded;
- } else if (name.equals("triple")) {
+ } else if (name == "triple") {
StringExtractor extractor(value);
extractor.GetHexByteString(triple);
++num_keys_decoded;
- } else if (name.equals("distribution_id")) {
+ } else if (name == "distribution_id") {
StringExtractor extractor(value);
extractor.GetHexByteString(m_host_distribution_id);
++num_keys_decoded;
- } else if (name.equals("os_build")) {
+ } else if (name == "os_build") {
StringExtractor extractor(value);
extractor.GetHexByteString(m_os_build);
++num_keys_decoded;
- } else if (name.equals("hostname")) {
+ } else if (name == "hostname") {
StringExtractor extractor(value);
extractor.GetHexByteString(m_hostname);
++num_keys_decoded;
- } else if (name.equals("os_kernel")) {
+ } else if (name == "os_kernel") {
StringExtractor extractor(value);
extractor.GetHexByteString(m_os_kernel);
++num_keys_decoded;
- } else if (name.equals("ostype")) {
+ } else if (name == "ostype") {
ParseOSType(value, os_name, environment);
++num_keys_decoded;
- } else if (name.equals("vendor")) {
+ } else if (name == "vendor") {
vendor_name = std::string(value);
++num_keys_decoded;
- } else if (name.equals("endian")) {
+ } else if (name == "endian") {
byte_order = llvm::StringSwitch<lldb::ByteOrder>(value)
.Case("little", eByteOrderLittle)
.Case("big", eByteOrderBig)
@@ -1275,30 +1275,30 @@ bool GDBRemoteCommunicationClient::GetHostInfo(bool force) {
.Default(eByteOrderInvalid);
if (byte_order != eByteOrderInvalid)
++num_keys_decoded;
- } else if (name.equals("ptrsize")) {
+ } else if (name == "ptrsize") {
if (!value.getAsInteger(0, pointer_byte_size))
++num_keys_decoded;
- } else if (name.equals("addressing_bits")) {
+ } else if (name == "addressing_bits") {
if (!value.getAsInteger(0, m_low_mem_addressing_bits)) {
++num_keys_decoded;
}
- } else if (name.equals("high_mem_addressing_bits")) {
+ } else if (name == "high_mem_addressing_bits") {
if (!value.getAsInteger(0, m_high_mem_addressing_bits))
++num_keys_decoded;
- } else if (name.equals("low_mem_addressing_bits")) {
+ } else if (name == "low_mem_addressing_bits") {
if (!value.getAsInteger(0, m_low_mem_addressing_bits))
++num_keys_decoded;
- } else if (name.equals("os_version") ||
- name.equals("version")) // Older debugserver binaries used
- // the "version" key instead of
- // "os_version"...
+ } else if (name == "os_version" ||
+ name == "version") // Older debugserver binaries used
+ // the "version" key instead of
+ // "os_version"...
{
if (!m_os_version.tryParse(value))
++num_keys_decoded;
- } else if (name.equals("maccatalyst_version")) {
+ } else if (name == "maccatalyst_version") {
if (!m_maccatalyst_version.tryParse(value))
++num_keys_decoded;
- } else if (name.equals("watchpoint_exceptions_received")) {
+ } else if (name == "watchpoint_exceptions_received") {
m_watchpoints_trigger_after_instruction =
llvm::StringSwitch<LazyBool>(value)
.Case("before", eLazyBoolNo)
@@ -1306,14 +1306,14 @@ bool GDBRemoteCommunicationClient::GetHostInfo(bool force) {
.Default(eLazyBoolCalculate);
if (m_watchpoints_trigger_after_instruction != eLazyBoolCalculate)
++num_keys_decoded;
- } else if (name.equals("default_packet_timeout")) {
+ } else if (name == "default_packet_timeout") {
uint32_t timeout_seconds;
if (!value.getAsInteger(0, timeout_seconds)) {
m_default_packet_timeout = seconds(timeout_seconds);
SetPacketTimeout(m_default_packet_timeout);
++num_keys_decoded;
}
- } else if (name.equals("vm-page-size")) {
+ } else if (name == "vm-page-size") {
int page_size;
if (!value.getAsInteger(0, page_size)) {
m_target_vm_page_size = page_size;
@@ -1568,10 +1568,10 @@ Status GDBRemoteCommunicationClient::GetMemoryRegionInfo(
bool success = true;
bool saw_permissions = false;
while (success && response.GetNameColonValue(name, value)) {
- if (name.equals("start")) {
+ if (name == "start") {
if (!value.getAsInteger(16, addr_value))
region_info.GetRange().SetRangeBase(addr_value);
- } else if (name.equals("size")) {
+ } else if (name == "size") {
if (!value.getAsInteger(16, addr_value)) {
region_info.GetRange().SetByteSize(addr_value);
if (region_info.GetRange().GetRangeEnd() <
@@ -1580,8 +1580,7 @@ Status GDBRemoteCommunicationClient::GetMemoryRegionInfo(
region_info.GetRange().SetRangeEnd(LLDB_INVALID_ADDRESS);
}
}
- } else if (name.equals("permissions") &&
- region_info.GetRange().IsValid()) {
+ } else if (name == "permissions" && region_info.GetRange().IsValid()) {
saw_permissions = true;
if (region_info.GetRange().Contains(addr)) {
if (value.contains('r'))
@@ -1608,12 +1607,12 @@ Status GDBRemoteCommunicationClient::GetMemoryRegionInfo(
region_info.SetExecutable(MemoryRegionInfo::eNo);
region_info.SetMapped(MemoryRegionInfo::eNo);
}
- } else if (name.equals("name")) {
+ } else if (name == "name") {
StringExtractorGDBRemote name_extractor(value);
std::string name;
name_extractor.GetHexByteString(name);
region_info.SetName(name.c_str());
- } else if (name.equals("flags")) {
+ } else if (name == "flags") {
region_info.SetMemoryTagged(MemoryRegionInfo::eNo);
llvm::StringRef flags = value;
@@ -1629,7 +1628,7 @@ Status GDBRemoteCommunicationClient::GetMemoryRegionInfo(
}
}
}
- } else if (name.equals("type")) {
+ } else if (name == "type") {
std::string comma_sep_str = value.str();
size_t comma_pos;
while ((comma_pos = comma_sep_str.find(',')) != std::string::npos) {
@@ -1642,13 +1641,13 @@ Status GDBRemoteCommunicationClient::GetMemoryRegionInfo(
if (comma_sep_str == "stack") {
region_info.SetIsStackMemory(MemoryRegionInfo::eYes);
}
- } else if (name.equals("error")) {
+ } else if (name == "error") {
StringExtractorGDBRemote error_extractor(value);
std::string error_string;
// Now convert the HEX bytes into a string value
error_extractor.GetHexByteString(error_string);
error.SetErrorString(error_string.c_str());
- } else if (name.equals("dirty-pages")) {
+ } else if (name == "dirty-pages") {
std::vector<addr_t> dirty_page_list;
for (llvm::StringRef x : llvm::split(value, ',')) {
addr_t page;
@@ -1825,7 +1824,7 @@ std::optional<uint32_t> GDBRemoteCommunicationClient::GetWatchpointSlotCount() {
llvm::StringRef name;
llvm::StringRef value;
while (response.GetNameColonValue(name, value)) {
- if (name.equals("num")) {
+ if (name == "num") {
value.getAsInteger(0, m_num_supported_hardware_watchpoints);
num = m_num_supported_hardware_watchpoints;
}
@@ -2006,43 +2005,43 @@ bool GDBRemoteCommunicationClient::DecodeProcessInfoResponse(
std::string os_type;
while (response.GetNameColonValue(name, value)) {
- if (name.equals("pid")) {
+ if (name == "pid") {
lldb::pid_t pid = LLDB_INVALID_PROCESS_ID;
value.getAsInteger(0, pid);
process_info.SetProcessID(pid);
- } else if (name.equals("ppid")) {
+ } else if (name == "ppid") {
lldb::pid_t pid = LLDB_INVALID_PROCESS_ID;
value.getAsInteger(0, pid);
process_info.SetParentProcessID(pid);
- } else if (name.equals("uid")) {
+ } else if (name == "uid") {
uint32_t uid = UINT32_MAX;
value.getAsInteger(0, uid);
process_info.SetUserID(uid);
- } else if (name.equals("euid")) {
+ } else if (name == "euid") {
uint32_t uid = UINT32_MAX;
value.getAsInteger(0, uid);
process_info.SetEffectiveUserID(uid);
- } else if (name.equals("gid")) {
+ } else if (name == "gid") {
uint32_t gid = UINT32_MAX;
value.getAsInteger(0, gid);
process_info.SetGroupID(gid);
- } else if (name.equals("egid")) {
+ } else if (name == "egid") {
uint32_t gid = UINT32_MAX;
value.getAsInteger(0, gid);
process_info.SetEffectiveGroupID(gid);
- } else if (name.equals("triple")) {
+ } else if (name == "triple") {
StringExtractor extractor(value);
std::string triple;
extractor.GetHexByteString(triple);
process_info.GetArchitecture().SetTriple(triple.c_str());
- } else if (name.equals("name")) {
+ } else if (name == "name") {
StringExtractor extractor(value);
// The process name from ASCII hex bytes since we can't control the
// characters in a process name
std::string name;
extractor.GetHexByteString(name);
process_info.GetExecutableFile().SetFile(name, FileSpec::Style::native);
- } else if (name.equals("args")) {
+ } else if (name == "args") {
llvm::StringRef encoded_args(value), hex_arg;
bool is_arg0 = true;
@@ -2062,13 +2061,13 @@ bool GDBRemoteCommunicationClient::DecodeProcessInfoResponse(
process_info.GetArguments().AppendArgument(arg);
is_arg0 = false;
}
- } else if (name.equals("cputype")) {
+ } else if (name == "cputype") {
value.getAsInteger(0, cpu);
- } else if (name.equals("cpusubtype")) {
+ } else if (name == "cpusubtype") {
value.getAsInteger(0, sub);
- } else if (name.equals("vendor")) {
+ } else if (name == "vendor") {
vendor = std::string(value);
- } else if (name.equals("ostype")) {
+ } else if (name == "ostype") {
os_type = std::string(value);
}
}
@@ -2144,10 +2143,10 @@ bool GDBRemoteCommunicationClient::GetCurrentProcessInfo(bool allow_lazy) {
uint32_t num_keys_decoded = 0;
lldb::pid_t pid = LLDB_INVALID_PROCESS_ID;
while (response.GetNameColonValue(name, value)) {
- if (name.equals("cputype")) {
+ if (name == "cputype") {
if (!value.getAsInteger(16, cpu))
++num_keys_decoded;
- } else if (name.equals("cpusubtype")) {
+ } else if (name == "cpusubtype") {
if (!value.getAsInteger(16, sub)) {
++num_keys_decoded;
// Workaround for pre-2024 Apple debugserver, which always
@@ -2162,17 +2161,17 @@ bool GDBRemoteCommunicationClient::GetCurrentProcessInfo(bool allow_lazy) {
sub = 0;
}
}
- } else if (name.equals("triple")) {
+ } else if (name == "triple") {
StringExtractor extractor(value);
extractor.GetHexByteString(triple);
++num_keys_decoded;
- } else if (name.equals("ostype")) {
+ } else if (name == "ostype") {
ParseOSType(value, os_name, environment);
++num_keys_decoded;
- } else if (name.equals("vendor")) {
+ } else if (name == "vendor") {
vendor_name = std::string(value);
++num_keys_decoded;
- } else if (name.equals("endian")) {
+ } else if (name == "endian") {
byte_order = llvm::StringSwitch<lldb::ByteOrder>(value)
.Case("little", eByteOrderLittle)
.Case("big", eByteOrderBig)
@@ -2180,19 +2179,19 @@ bool GDBRemoteCommunicationClient::GetCurrentProcessInfo(bool allow_lazy) {
.Default(eByteOrderInvalid);
if (byte_order != eByteOrderInvalid)
++num_keys_decoded;
- } else if (name.equals("ptrsize")) {
+ } else if (name == "ptrsize") {
if (!value.getAsInteger(16, pointer_byte_size))
++num_keys_decoded;
- } else if (name.equals("pid")) {
+ } else if (name == "pid") {
if (!value.getAsInteger(16, pid))
++num_keys_decoded;
- } else if (name.equals("elf_abi")) {
+ } else if (name == "elf_abi") {
elf_abi = std::string(value);
++num_keys_decoded;
- } else if (name.equals("main-binary-uuid")) {
+ } else if (name == "main-binary-uuid") {
m_process_standalone_uuid.SetFromStringRef(value);
++num_keys_decoded;
- } else if (name.equals("main-binary-slide")) {
+ } else if (name == "main-binary-slide") {
StringExtractor extractor(value);
m_process_standalone_value =
extractor.GetU64(LLDB_INVALID_ADDRESS, 16);
@@ -2200,7 +2199,7 @@ bool GDBRemoteCommunicationClient::GetCurrentProcessInfo(bool allow_lazy) {
m_process_standalone_value_is_offset = true;
++num_keys_decoded;
}
- } else if (name.equals("main-binary-address")) {
+ } else if (name == "main-binary-address") {
StringExtractor extractor(value);
m_process_standalone_value =
extractor.GetU64(LLDB_INVALID_ADDRESS, 16);
@@ -2208,7 +2207,7 @@ bool GDBRemoteCommunicationClient::GetCurrentProcessInfo(bool allow_lazy) {
m_process_standalone_value_is_offset = false;
++num_keys_decoded;
}
- } else if (name.equals("binary-addresses")) {
+ } else if (name == "binary-addresses") {
m_binary_addresses.clear();
++num_keys_decoded;
for (llvm::StringRef x : llvm::split(value, ',')) {
@@ -2647,9 +2646,9 @@ bool GDBRemoteCommunicationClient::LaunchGDBServer(
llvm::StringRef name;
llvm::StringRef value;
while (response.GetNameColonValue(name, value)) {
- if (name.equals("port"))
+ if (name == "port")
value.getAsInteger(0, port);
- else if (name.equals("pid"))
+ else if (name == "pid")
value.getAsInteger(0, pid);
else if (name.compare("socket_name") == 0) {
StringExtractor extractor(value);