return address in __cyg_profile_func_exit
Andrew Haley
aph@redhat.com
Wed Apr 8 15:23:00 GMT 2009
Laurent Burgy wrote:
> I've been unable to find a high-level way of getting the original
> return address of a function when entering __cyg_profile_func_exit.
>
> __cyg_profile_func_exit is executed at the end of a function, is there
> any way (with a builting) to retrieve the original returned value.
> That would enable me to investigate the returned values without
> modifying the calling site. The information must be somewhere but I
> don't know how to reach it. (Getting EBX is not an option that I
> consider since the value may depend on the level of optimization -i've
> seen it only works with -O0).
The return value is in EAX, but it isn't there when __cyg_profile_func_exit
is called. It'd be quite easy to modify the compiler to do this, and not
possible otherwise.
Andrew.
More information about the Gcc-help
mailing list