This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [CHKP] Never expand instrumentation thunks


> On 04/02/2015 02:11 PM, Jan Hubicka wrote:
> >>>2015-03-18  Ilya Enkovich  <ilya.enkovich@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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]