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: [PATCH, i386, Pointer Bounds Checker 10/x] Partitions


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



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