Omnitrace could have an option to do binary rewrite on object files, and an option to intercept a compiler invocation to rewrite the file after it was compiled similar to how ccache or distcc work.
I'm guessing the linker will not have problems with linking instrumented functions.
This would allow for a workflow where only changed files have to be re-instrumented, potentially significantly cutting down on the time it takes to get a new trace after tweaking an application.
With projects in cmake using an option like this would be as easy as setting CMAKE_COMPILER_LAUNCHER.
Omnitrace could have an option to do binary rewrite on object files, and an option to intercept a compiler invocation to rewrite the file after it was compiled similar to how
ccacheordistccwork.I'm guessing the linker will not have problems with linking instrumented functions.
This would allow for a workflow where only changed files have to be re-instrumented, potentially significantly cutting down on the time it takes to get a new trace after tweaking an application.
With projects in cmake using an option like this would be as easy as setting
CMAKE_COMPILER_LAUNCHER.