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
This commit is contained in:
Jan Hubicka 2017-01-19 11:00:56 +01:00 committed by Jan Hubicka
parent f457ef94da
commit ea83dcf68d
2 changed files with 9 additions and 4 deletions

View file

@ -1,3 +1,9 @@
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>
PR target/78516

View file

@ -1989,13 +1989,12 @@ symtab_node::equal_address_to (symtab_node *s2, bool memory_accessed)
if (rs1 != rs2 && avail1 >= AVAIL_AVAILABLE && avail2 >= AVAIL_AVAILABLE)
binds_local1 = binds_local2 = true;
if ((binds_local1 ? rs1 : this)
== (binds_local2 ? rs2 : s2))
if (binds_local1 && binds_local2 && rs1 == rs2)
{
/* We made use of the fact that alias is not weak. */
if (binds_local1 && rs1 != this)
if (rs1 != this)
refuse_visibility_changes = true;
if (binds_local2 && rs2 != s2)
if (rs2 != s2)
s2->refuse_visibility_changes = true;
return 1;
}