]> git.ipfire.org Git - thirdparty/binutils-gdb.git/blobdiff - ld/plugin.h
Update year range in copyright notice of binutils files
[thirdparty/binutils-gdb.git] / ld / plugin.h
index cd8c0643f8b9bf98d8f2c2e937d37ad3565390f4..002562677503bccc4c8d13520fe8b5b9d06ecf27 100644 (file)
@@ -1,5 +1,5 @@
 /* Plugin control for the GNU linker.
-   Copyright 2010 Free Software Foundation, Inc.
+   Copyright (C) 2010-2021 Free Software Foundation, Inc.
 
    This file is part of the GNU Binutils.
 
 #ifndef GLD_PLUGIN_H
 #define GLD_PLUGIN_H
 
+/* Report plugin symbols.  */
+extern bfd_boolean report_plugin_symbols;
+
+/* Set at all symbols read time, to avoid recursively offering the plugin
+   its own newly-added input files and libs to claim.  */
+extern bfd_boolean no_more_claiming;
 
 /* This is the only forward declaration we need to avoid having
    to include the plugin-api.h header in order to use this file.  */
 struct ld_plugin_input_file;
 
-/* Handle -plugin arg: find and load plugin, or return error.  */
-extern int plugin_opt_plugin (const char *plugin);
+/* Handle -plugin arg: find and load plugin.  */
+extern void plugin_opt_plugin (const char *plugin);
 
 /* Accumulate option arguments for last-loaded plugin, or return
    error if none.  */
 extern int plugin_opt_plugin_arg (const char *arg);
 
-/* Return true if any plugins are active this run.  Only valid
-   after options have been processed.  */
-extern bfd_boolean plugin_active_plugins_p (void);
-
 /* Load up and initialise all plugins after argument parsing.  */
-extern int plugin_load_plugins (void);
+extern void plugin_load_plugins (void);
 
 /* Return name of plugin which caused an error in any of the above.  */
 extern const char *plugin_error_plugin (void);
 
 /* Call 'claim file' hook for all plugins.  */
-extern int plugin_call_claim_file (const struct ld_plugin_input_file *file,
-                                  int *claimed);
+extern void plugin_maybe_claim (lang_input_statement_type *);
 
 /* Call 'all symbols read' hook for all plugins.  */
 extern int plugin_call_all_symbols_read (void);
 
-/* Call 'cleanup' hook for all plugins.  */
-extern int plugin_call_cleanup (void);
-
-/* Generate a dummy BFD to represent an IR file, for any callers of
-   plugin_call_claim_file to use as the handle in the ld_plugin_input_file
-   struct that they build to pass in.  The BFD is initially writable, so
-   that symbols can be added to it; it must be made readable after the
-   add_symbols hook has been called so that it can be read when linking.  */
-extern bfd *plugin_get_ir_dummy_bfd (const char *name, bfd *template);
-
-/* Notice-symbol bfd linker callback hook.  */
-extern bfd_boolean plugin_notice (struct bfd_link_info *info,
-                                 const char *name, bfd *abfd, asection *section,
-                                 bfd_vma value);
-
-/* Multiple-definition bfd linker callback hook.  */
-extern bfd_boolean plugin_multiple_definition (struct bfd_link_info *info,
-                                              const char *name,
-                                              bfd *obfd, asection *osec, bfd_vma oval,
-                                              bfd *nbfd, asection *nsec, bfd_vma nval);
+/* Call 'cleanup' hook for all plugins at exit.  */
+extern void plugin_call_cleanup (void);
 
 #endif /* !def GLD_PLUGIN_H */