aboutsummaryrefslogtreecommitdiff
path: root/gcc/config
diff options
context:
space:
mode:
authorJan Hubicka <hubicka@ucw.cz>2019-11-30 22:03:25 +0100
committerJan Hubicka <hubicka@gcc.gnu.org>2019-11-30 21:03:25 +0000
commitd7ddfbcb7fa6e700639c9b916bf8a5ed15600950 (patch)
tree3e8ad36922e2df05cdc896aec48daa30135163d6 /gcc/config
parent65ef05d0b7fb429c5760189e638c441dc3da33f4 (diff)
downloadgcc-d7ddfbcb7fa6e700639c9b916bf8a5ed15600950.zip
gcc-d7ddfbcb7fa6e700639c9b916bf8a5ed15600950.tar.gz
gcc-d7ddfbcb7fa6e700639c9b916bf8a5ed15600950.tar.bz2
cgraph.h (symtab_node): Add symver flag.
2019-11-30 Jan Hubicka <hubicka@ucw.cz> * 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 <hubicka@ucw.cz> * c-attribs.c (handle_symver_attribute): New function (c_common_attributes): Add symver. From-SVN: r278878
Diffstat (limited to 'gcc/config')
-rw-r--r--gcc/config/elfos.h11
1 files changed, 11 insertions, 0 deletions
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