|
From: Sebastian B. <sb...@bi...> - 2004-08-30 21:04:54
|
Robert Walsh wrote: >>Indeed, gcc emits "call %esp". > > Interesting. Could be a way of spotting the problem - just Do Something > for that specific call. No, gcc also uses different registers there, depending on optimization level etc. And you have no (real) change to detect this when gcc just passes a pointer to the stack containing code (like in this example). [NB: The "call %esp" in my test was a result of inlining "static void call_func(void (*sel)(void))" from the bug report. It's quite interesting that gcc no longer understands it's own mess after inlining this function, and so is unable to optimize the trampoline code away] > > Regards, > Robert. > > Sebastian |