-finstrument-functions and stack unwinding on C++ exceptions

Earl Chew earl_chew@agilent.com
Mon Nov 12 13:11:00 GMT 2007


The -finstrument-functions options inserts calls to __cyg_profile_func_enter
and __cyg_profile_func_exit into functions and methods.

In particular __cyg_profile_func_exit is called just prior to the
function/method epilogue.

In C++ a method can also terminate due to an exception. This causes
the stack to unwind as the runtime searches for an exception handler.

As the intervening stack frames are unwound, are the related calls
to __cyg_profile_func_exit called, or will those stack frames
end up with an unmatched __cyg_profile_func_enter ?




More information about the Gcc-help mailing list