diff options
author | Jan Hubicka <hubicka@ucw.cz> | 2015-12-08 23:03:36 +0100 |
---|---|---|
committer | Jan Hubicka <hubicka@gcc.gnu.org> | 2015-12-08 22:03:36 +0000 |
commit | 2b73ad1d1df668f7cfbd352e590a1521a3765e40 (patch) | |
tree | 8ace8cb2a092fd97ea457d8e170d9e0c35c011fb /gcc | |
parent | 9b21e866825085e069dd2763a702202cb9adeb16 (diff) | |
download | gcc-2b73ad1d1df668f7cfbd352e590a1521a3765e40.zip gcc-2b73ad1d1df668f7cfbd352e590a1521a3765e40.tar.gz gcc-2b73ad1d1df668f7cfbd352e590a1521a3765e40.tar.bz2 |
re PR lto/61886 (LTO breaks fread with _FORTIFY_SOURCE=2)
PR ipa/61886
* lto-cgraph.c (compute_ltrans_boundary): Add transparent alias targets
into the boundary.
From-SVN: r231430
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/lto-cgraph.c | 9 |
2 files changed, 15 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 55f89c9..4ee6a32 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,6 +1,12 @@ 2015-12-08 Jan Hubicka <hubicka@ucw.cz> PR ipa/61886 + * lto-cgraph.c (compute_ltrans_boundary): Add transparent alias targets + into the boundary. + +2015-12-08 Jan Hubicka <hubicka@ucw.cz> + + PR ipa/61886 * varpool.c (varpool_node::get_availability): Recurse only on weakrefs with definition in the target. (symbol_table::remove_unreferenced_decls): Keep aliases in the boundary. diff --git a/gcc/lto-cgraph.c b/gcc/lto-cgraph.c index e1c2595..62e5454 100644 --- a/gcc/lto-cgraph.c +++ b/gcc/lto-cgraph.c @@ -972,6 +972,15 @@ compute_ltrans_boundary (lto_symtab_encoder_t in_encoder) if (cnode && cnode->thunk.thunk_p) add_node_to (encoder, cnode->callees->callee, false); + while (node->transparent_alias && node->analyzed) + { + node = node->get_alias_target (); + if (is_a <cgraph_node *> (node)) + add_node_to (encoder, dyn_cast <cgraph_node *> (node), + false); + else + lto_symtab_encoder_encode (encoder, node); + } } lto_symtab_encoder_delete (in_encoder); return encoder; |