Re: [patch 7/8] Agent capability for static tracepoint

Pedro Alves
2012-02-10T14:56:58Z

On 02/10/2012 02:29 PM, Yao Qi wrote:
> On 02/10/2012 04:13 AM, Pedro Alves wrote:
>> On 01/23/2012 02:07 PM, Yao Qi wrote:
>>>> Current libinproctrace.so agent is able to do operations on static
>>>> tracepoint, which can be treated as one capability. This patch is to
>>>> teach gdbserver to check agent's capability when performing operations
>>>> related to static tracepoint.
>>>>
>> Hmm, not sure. Why aren't these being hooked at the same places
>> where we already check/call maybe_write_ipa_ust_not_loaded and
>> in_process_agent_loaded_ust?
>>
>
> maybe_write_ipa_ust_not_loaded and in_process_agent_loaded_ust returns
> agent is loaded or not. Considering GDB may/will support multiple
> different agents, which have different capability, so "agent is loaded"
> doesn't mean "agent has a certain capability". Is it reasonable?
> I'd like replace global variable `ust_loaded' with capability mechanism
> in agent.

in_process_agent_loaded_ust (note the ust) is only true when both the
IPA is loaded, _and_ there's ust support. So you should be able to
replace all those with "agent can do static tracepoints", as that's
what the checks are really doing. So again, why aren't your
checks done at exactly the same places the present checks are done?

--
Pedro Alves