X-Git-Url: http://drtracing.org/?a=blobdiff_plain;f=ld%2Fplugin.h;h=a5874e2317e0c5187e664aa533813d5d3ab37a21;hb=3061113bf336048d538241282c39baf684de31bf;hp=fc5f37f2dabd355f0c867bc58ba35015992042f3;hpb=e73d965c22db66e6fc825d54b1dc78d20dcfe176;p=deliverable%2Fbinutils-gdb.git diff --git a/ld/plugin.h b/ld/plugin.h index fc5f37f2da..a5874e2317 100644 --- a/ld/plugin.h +++ b/ld/plugin.h @@ -1,5 +1,5 @@ /* Plugin control for the GNU linker. - Copyright 2010 Free Software Foundation, Inc. + Copyright (C) 2010-2020 Free Software Foundation, Inc. This file is part of the GNU Binutils. @@ -21,53 +21,37 @@ #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); -/* 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 */