This is the mail archive of the
systemtap@sourceware.org
mailing list for the systemtap project.
Re: utrace-based uprobes
>
> >
> > > +If the number of times a function is called does not match the
> > > +number of times it returns (e.g., if a function exits via longjmp()),
> > > +registering a return probe on that function may produce undesirable
> > > +results.
> >
> > What do these undesirable results include
>
> Returning to the wrong address. For example, if A calls B, and you have
> uretprobes on both A and B, and B longjmps back into A, B's return
> address will be left atop that task's stack of return addresses. So
> when A returns, it'll return using B's return address.
Isn't the behavior the same even without the return probes
inserted on A and B?