On 06/02/14 05:50, Ilya Enkovich wrote:
On 30 May 11:10, Jeff Law wrote:
On 05/28/14 10:06, Ilya Enkovich wrote:
Hi,

This patch keeps instrumented and original versions together and preserve 
tranparent alias chain during symbol name privatization.

Bootstrapped and tested on linux-x86_64.

Thanks,
Ilya
--
gcc/

2013-05-28  Ilya Enkovich  <ilya.enkov...@intel.com>

        * lto/lto-partition.c (add_symbol_to_partition_1): Keep original
        and instrumented versions together.
This part is OK.  Note lto/ has its own ChangeLog, so put the
ChangeLog entry there and don't use the "lto/" prefix in the
ChangeLog entry.

        (privatize_symbol_name): Restore transparent alias chain if required.
What exactly are you doing here?  The comment in the code doesn't
really make it clear what you are doing or why.

+  /* We could change name which is a target of transparent alias
+     chain of instrumented function name.  Fix alias chain if so  .*/
So are you saying that we want to change the name?  Or that it could
have been changed and we have to adjust something because it was
changed?

I'm certainly not as familiar with the LTO stuff as I should be --
what is the purpose behing chaining the DECL_ASSEMBLER_NAME nodes?

I'm just adjusting renaming to support alias chains.  LTO renames functions to 
avoid two static functions with the same assembler name.  Instrumented 
functions have names chained with original names using 
IDENTIFIER_TRANSPARENT_ALIAS.  If name of the original function is privatized, 
then IDENTIFIER_TRANSPARENT_ALIAS still points to the old name which is wrong.  
My patch fixes it.


jeff


Here is fixed ChangeLog.

Thanks,
Ilya
--
gcc/lto

2014-06-02  Ilya Enkovich  <ilya.enkov...@intel.com>

        * lto-partition.c (add_symbol_to_partition_1): Keep original
        and instrumented versions together.
        (privatize_symbol_name): Restore transparent alias chain if required.
OK.  This is fine once all the other pointer checking bits are approved.

jeff


Reply via email to