mirror of git://gcc.gnu.org/git/gcc.git
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:
parent
f457ef94da
commit
ea83dcf68d
|
|
@ -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>
|
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)
|
||||||
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;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue