On 09/15/14 01:14, Ilya Enkovich wrote:
Ping
2014-06-03 13:01 GMT+04:00 Richard Biener <richard.guent...@gmail.com>:
On Mon, Jun 2, 2014 at 5:15 PM, Ilya Enkovich <enkovich....@gmail.com> wrote:
Hi,
In the most case we follow transparent alias chains wne assemble names. But in
some cases it is not performed. For instrumented functions it is critical and
following patch fixes that. It also adds a visibility inheritance for
instrtumented functions.
It feels like this should be handled by the symtab code nowadays ... Honza?
I don't see anything in cgraph that would handle this. There's one bit
of code that sets up these chains in symbol_table::compile. That code
hints that if we did the renaming in the gimple IL that the nonsense
could go away, but for now we're stuck with the current chains.
So I'm going to work on the assumption that at least in the immediate
term we're still walking the chains in varasm. And in reality, all Ilya
is doing is ensuring we're walking these chains in more cases where
they're needed.
Richard.
Bootstrapped and tested on linux-x86_64.
Thanks,
Ilya
--
gcc/
2014-06-02 Ilya Enkovich <ilya.enkov...@intel.com>
* varasm.c: Include tree-chkp.h.
(ultimate_transparent_alias_target): Move up.
(make_decl_rtl): For instrumented function use
name of the original decl.
(assemble_start_function): Mark function as global
in case it is instrumentation clone of the global
function.
(do_assemble_alias): Follow transparent alias chain
for identifier. Check if original alias is public.
(maybe_assemble_visibility): Use visibility of the
original function for instrumented version.
(default_unique_section): Likewise.
OK.
Jeff