Commit ea83dcf6 by Jan Hubicka Committed by Jan Hubicka

re PR lto/78407 (LTO breaks separate overriding of symbol aliases)

	PR lto/78407
	* symtab.c (symtab_node::equal_address_to): Fix comparing of
	interposable aliases.

From-SVN: r244612
parent f457ef94
2017-01-17 Jan Hubicka <hubicka@ucw.cz>
PR lto/78407
* symtab.c (symtab_node::equal_address_to): Fix comparing of
interposable aliases.
2017-01-18 Peter Bergner <bergner@vnet.ibm.com> 2017-01-18 Peter Bergner <bergner@vnet.ibm.com>
PR target/78516 PR target/78516
......
...@@ -1989,13 +1989,12 @@ symtab_node::equal_address_to (symtab_node *s2, bool memory_accessed) ...@@ -1989,13 +1989,12 @@ symtab_node::equal_address_to (symtab_node *s2, bool memory_accessed)
if (rs1 != rs2 && avail1 >= AVAIL_AVAILABLE && avail2 >= AVAIL_AVAILABLE) if (rs1 != rs2 && avail1 >= AVAIL_AVAILABLE && avail2 >= AVAIL_AVAILABLE)
binds_local1 = binds_local2 = true; binds_local1 = binds_local2 = true;
if ((binds_local1 ? rs1 : this) if (binds_local1 && binds_local2 && rs1 == rs2)
== (binds_local2 ? rs2 : s2))
{ {
/* We made use of the fact that alias is not weak. */ /* We made use of the fact that alias is not weak. */
if (binds_local1 && rs1 != this) if (rs1 != this)
refuse_visibility_changes = true; refuse_visibility_changes = true;
if (binds_local2 && rs2 != s2) if (rs2 != s2)
s2->refuse_visibility_changes = true; s2->refuse_visibility_changes = true;
return 1; return 1;
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment