> 2015-04-03 0:13 GMT+03:00 Jan Hubicka <hubi...@ucw.cz>: > >> On 04/02/2015 02:11 PM, Jan Hubicka wrote: > >> >>>2015-03-18 Ilya Enkovich <ilya.enkov...@intel.com> > >> >>> > >> >>> * cgraphunit.c (cgraph_node::expand_thunk): Don't expand > >> >>> instrumentation thunks. > >> >>> > >> >>> > >> >>>diff --git a/gcc/cgraphunit.c b/gcc/cgraphunit.c > >> >>>index e640907..abc9cfe 100644 > >> >>>--- a/gcc/cgraphunit.c > >> >>>+++ b/gcc/cgraphunit.c > >> >>>@@ -1508,6 +1508,10 @@ cgraph_node::expand_thunk (bool > >> >>>output_asm_thunks, bool force_gimple_thunk) > >> >>> tree thunk_fndecl = decl; > >> >>> tree a; > >> >>> > >> >>>+ /* Instrumentation thunk is the same function with > >> >>>+ a different signature. Never need to expand it. */ > >> >>>+ if (thunk.add_pointer_bounds_args) > >> >>>+ return false; > >> > > >> >Yeah, this is another case where we hit problem with transparent alias > >> >pretending > >> >to be thunk :) > >> >I guess the patch is OK for GCC-5 and for next stage1 we can clean this > >> >up. > >> I was actually building a compiler so I could take a look at this > >> one under a debugger ;-) > > > > I think it is really the transparent alias issue. The comment seems pretty > > clear about it. > > What is confusing is that instrumentation thunks are called thunks when > > they are > > really not - thunk is a small hunk of code, while instrumentation thunk is > > a transparent > > alias. > > > > Too bad I did not notice we introduced transparent aliases, i would push > > out my > > code for that. I will compare Ilya's changes with mine and hopefully we can > > catch more bugs and unify the code next stage1. > > Thunk was the best I could find to represent the same function but > with different signature. It would be great to have a more specialized > way for that.
Yeah, that is also what we need for https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61886 I just did not notice you are independently solving the same issue :( Honza