visit_target_symbol() for derived_probes
William Cohen
wcohen@redhat.com
Fri Aug 25 15:02:00 GMT 2006
William Cohen wrote:
> I have tried to replicate what the dwarf and mark probes do as far as
> handling target variable ($variable) for $counter in the perfmon probes.
> The perfmon probe needs a read only value indicating which counter is
> being used for that event. From what I understand discussing this with
> Frank and examining the code here are the things that need to be done:
>
> -allocate space for the variable
> -generate a declaration for the synthesized function
> -generate C code for the synthesized function
> -replace the $target var use with a call to the synthesized function
>
> It appears that I am not getting the function built in the latest patch
> that is saved in bz#909. Where exactly does the creation of the
> synthesized function occur for the dwarf and mark probes? I seem to be
> missing the corresponding operation. Later the code gets a seg fault in
> symresolution_info::visit_symbol(). Thus, for the this short example:
I tracked down my problem to a missing '&' so the systemtap_session
wasn't passed by reference to perfmon_var_expanding_copy_visitory
constructor. It looks I have something that generates a $counter handle
for each of the probes so the script writer doesn't need to know which
registers are used.
-Will
More information about the Systemtap
mailing list