> 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.

Honza

Reply via email to