X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;f=ld%2Fplugin.h;h=dc32295b0d8e59b1104d59a4e150f89f19037d18;hb=5b9afe8a3531f45255ee97465b52d2769a9a8ab5;hp=b79e739223e487b0d61b7b3b6dd80259c1230491;hpb=d44ad554d42dd9e80692b0fd2a48b950d6a7a38e;p=deliverable%2Fbinutils-gdb.git diff --git a/ld/plugin.h b/ld/plugin.h index b79e739223..dc32295b0d 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 2010, 2011 Free Software Foundation, Inc. This file is part of the GNU Binutils. @@ -21,6 +21,12 @@ #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. */ @@ -44,14 +50,14 @@ extern int plugin_load_plugins (void); 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 (struct ld_plugin_input_file *, + 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); +/* 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 @@ -60,15 +66,7 @@ extern int plugin_call_cleanup (void); 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); +/* Return true if bfd is a dynamic library that should be reloaded. */ +extern bfd_boolean plugin_should_reload (bfd *); #endif /* !def GLD_PLUGIN_H */