diff --git a/Cargo.lock b/Cargo.lock index e7401f9..3c80d98 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1754,6 +1754,7 @@ dependencies = [ "egui-winit", "egui_extras", "gilrs", + "hex", "image", "itertools", "num-derive", diff --git a/Cargo.toml b/Cargo.toml index e5ea2be..f7e7434 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -20,6 +20,7 @@ egui-toast = { git = "https://github.com/urholaukkarinen/egui-toast.git", rev = egui-winit = "0.30" egui-wgpu = { version = "0.30", features = ["winit"] } gilrs = { version = "0.11", features = ["serde-serialize"] } +hex = "0.4" image = { version = "0.25", default-features = false, features = ["png"] } itertools = "0.13" num-derive = "0.4" diff --git a/src/gdbserver.rs b/src/gdbserver.rs index ae01a40..2d90c11 100644 --- a/src/gdbserver.rs +++ b/src/gdbserver.rs @@ -162,6 +162,19 @@ impl GdbConnection { if body == "QStartNoAckMode" { self.ack_messages = false; res.send_ok().await?; + } else if body.starts_with("qSupported:") { + res.write_str("multiprocess+;swbreak+;vContSupported+") + .await?; + res.send().await?; + } else if body == "QThreadSuffixSupported" || body == "QListThreadsInStopReply" { + res.send_ok().await?; + } else if body == "qHostInfo" || body == "qProcessInfo" { + res.write_str(&format!( + "triple:{};endian:little;ptrsize:4;", + hex::encode("v810-unknown-vb") + )) + .await?; + res.send().await?; } else if body == "k" { return Ok(()); } else {