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/config/elfos.h | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'gcc/config') diff --git a/gcc/config/elfos.h b/gcc/config/elfos.h index e00d437..e91c0f3 100644 --- a/gcc/config/elfos.h +++ b/gcc/config/elfos.h @@ -248,6 +248,17 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see } \ while (0) +#define ASM_OUTPUT_SYMVER_DIRECTIVE(FILE, NAME, NAME2) \ + do \ + { \ + fputs ("\t.symver\t", (FILE)); \ + assemble_name ((FILE), (NAME)); \ + fputs (", ", (FILE)); \ + assemble_name ((FILE), (NAME2)); \ + fputc ('\n', (FILE)); \ + } \ + while (0) + /* The following macro defines the format used to output the second operand of the .type assembler directive. Different svr4 assemblers expect various different forms for this operand. The one given here -- cgit v1.1