On 02/24/2012 05:17 AM, Pedro Alves wrote: >> > @@ -4882,6 +4883,17 @@ info_static_tracepoint_markers_command (char *arg, int from_tty) >> > struct ui_out *uiout = current_uiout; >> > int i; >> > >> > + if (target_can_use_agent () == 0) > Hmm, I don't think doing this change now is right. If you connect GDB to a GDBserver > that hasn't been patched, this will fail because that GDBserver doesn't report > the QAgent feature, so it is an incompatible change of the protocol to require QAgent > for static tracepoint listing. > The right thing to do seems to be to just go ahead and try the target method call, > as before. We could at a minimum check whether the "statictracepoints" qSupported > feature Was reported by the target, though that doesn't tell you whether the current > inferior has the IPA or UST loaded at all, only that the frontend stub understands > static tracepoints. What was the motivation for these checks here? > The motivation is quite simple, `since we have some conditions, it is better to check them first'. However, it breaks compatibility, as you pointed out. In this version, I get rid of these checks, and only leave a paragraph of comment on why we don't check these conditions there. -- Yao (齐尧)