X-Git-Url: http://drtracing.org/?a=blobdiff_plain;f=ld%2Fplugin.h;h=a5874e2317e0c5187e664aa533813d5d3ab37a21;hb=d27c357a5b83773054e85ff3ea5dbfe18b9dd3c0;hp=5b340be29ef1dc6466436f298527ca145cc7c2c9;hpb=498cd2a0fdc89ee9a81ce4ad0019d64a1f6dbcd7;p=deliverable%2Fbinutils-gdb.git diff --git a/ld/plugin.h b/ld/plugin.h index 5b340be29e..a5874e2317 100644 --- a/ld/plugin.h +++ b/ld/plugin.h @@ -1,5 +1,5 @@ /* Plugin control for the GNU linker. - Copyright 2010, 2011 Free Software Foundation, Inc. + Copyright (C) 2010-2020 Free Software Foundation, Inc. This file is part of the GNU Binutils. @@ -21,31 +21,32 @@ #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); @@ -53,24 +54,4 @@ extern int plugin_call_all_symbols_read (void); /* Call 'cleanup' hook for all plugins at exit. */ extern void 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); - #endif /* !def GLD_PLUGIN_H */