> > > We're not doing back traces. We need to modify the return of the > function being called. Note, the above functions that end with ";" are > leaf functions. Non leaf functions show "{" and end with "}". > > The trick here is to find a reliable way to modify the return address. > would it not more or less be the same thing if you used -finstrument-functions then and provide a stub __cyg_profile_func_enter/exit initialized to an empty function until you replace it during tracing. This does give you an overhead when you are not tracing - but it would make the tracer implementation quite generic. hofrat