From d7ddfbcb7fa6e700639c9b916bf8a5ed15600950 Mon Sep 17 00:00:00 2001 From: Jan Hubicka Date: Sat, 30 Nov 2019 22:03:25 +0100 Subject: cgraph.h (symtab_node): Add symver flag. 2019-11-30 Jan Hubicka * cgraph.h (symtab_node): Add symver flag. * cgraphunit.c (process_symver_attribute): New. (process_common_attributes): Use process_symver_attribute. * lto-cgraph.c (lto_output_node): Stream symver. (lto_output_varpool_node): Stream symver. (input_overwrite_node): Stream symver. (input_varpool_node): Stream symver. * output.h (do_assemble_symver): Decalre. * symtab.c (symtab_node::dump_base): Dump symver. (symtab_node::verify_base): Verify symver. (symtab_node::resolve_alias): Handle symver. * varasm.c (do_assemble_symver): New function. * varpool.c (varpool_node::assemble_aliases): Use it. * doc/extend.texi: (symver attribute): Document. * config/elfos.h (ASM_OUTPUT_SYMVER_DIRECTIVE): New. c-family/ChangeLog: 2019-11-30 Jan Hubicka * c-attribs.c (handle_symver_attribute): New function (c_common_attributes): Add symver. From-SVN: r278878 --- gcc/lto-cgraph.c | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'gcc/lto-cgraph.c') diff --git a/gcc/lto-cgraph.c b/gcc/lto-cgraph.c index d2a5d5376fe..b5221cd41f9 100644 --- a/gcc/lto-cgraph.c +++ b/gcc/lto-cgraph.c @@ -526,6 +526,7 @@ lto_output_node (struct lto_simple_output_block *ob, struct cgraph_node *node, bp_pack_value (&bp, node->alias, 1); bp_pack_value (&bp, node->transparent_alias, 1); bp_pack_value (&bp, node->weakref, 1); + bp_pack_value (&bp, node->symver, 1); bp_pack_value (&bp, node->frequency, 2); bp_pack_value (&bp, node->only_called_at_startup, 1); bp_pack_value (&bp, node->only_called_at_exit, 1); @@ -609,6 +610,7 @@ lto_output_varpool_node (struct lto_simple_output_block *ob, varpool_node *node, bp_pack_value (&bp, node->alias, 1); bp_pack_value (&bp, node->transparent_alias, 1); bp_pack_value (&bp, node->weakref, 1); + bp_pack_value (&bp, node->symver, 1); bp_pack_value (&bp, node->analyzed && (!boundary_p || node->alias), 1); gcc_assert (node->definition || !node->analyzed); /* Constant pool initializers can be de-unified into individual ltrans units. @@ -1173,6 +1175,7 @@ input_overwrite_node (struct lto_file_decl_data *file_data, node->alias = bp_unpack_value (bp, 1); node->transparent_alias = bp_unpack_value (bp, 1); node->weakref = bp_unpack_value (bp, 1); + node->symver = bp_unpack_value (bp, 1); node->frequency = (enum node_frequency)bp_unpack_value (bp, 2); node->only_called_at_startup = bp_unpack_value (bp, 1); node->only_called_at_exit = bp_unpack_value (bp, 1); @@ -1371,6 +1374,7 @@ input_varpool_node (struct lto_file_decl_data *file_data, node->alias = bp_unpack_value (&bp, 1); node->transparent_alias = bp_unpack_value (&bp, 1); node->weakref = bp_unpack_value (&bp, 1); + node->symver = bp_unpack_value (&bp, 1); node->analyzed = bp_unpack_value (&bp, 1); node->used_from_other_partition = bp_unpack_value (&bp, 1); node->in_other_partition = bp_unpack_value (&bp, 1); -- cgit v1.2.3