Subversion Repositories Kolibri OS

Rev

Rev 5199 | Blame | Compare with Previous | Last modification | View Log | RSS feed

  1. /* Plugin control for the GNU linker.
  2.    Copyright (C) 2010-2015 Free Software Foundation, Inc.
  3.  
  4.    This file is part of the GNU Binutils.
  5.  
  6.    This program is free software; you can redistribute it and/or modify
  7.    it under the terms of the GNU General Public License as published by
  8.    the Free Software Foundation; either version 3 of the License, or
  9.    (at your option) any later version.
  10.  
  11.    This program is distributed in the hope that it will be useful,
  12.    but WITHOUT ANY WARRANTY; without even the implied warranty of
  13.    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  14.    GNU General Public License for more details.
  15.  
  16.    You should have received a copy of the GNU General Public License
  17.    along with this program; if not, write to the Free Software
  18.    Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
  19.    MA 02110-1301, USA.  */
  20.  
  21. #ifndef GLD_PLUGIN_H
  22. #define GLD_PLUGIN_H
  23.  
  24. /* Report plugin symbols.  */
  25. extern bfd_boolean report_plugin_symbols;
  26.  
  27. /* Set at all symbols read time, to avoid recursively offering the plugin
  28.    its own newly-added input files and libs to claim.  */
  29. extern bfd_boolean no_more_claiming;
  30.  
  31. /* This is the only forward declaration we need to avoid having
  32.    to include the plugin-api.h header in order to use this file.  */
  33. struct ld_plugin_input_file;
  34.  
  35. /* Handle -plugin arg: find and load plugin.  */
  36. extern void plugin_opt_plugin (const char *plugin);
  37.  
  38. /* Accumulate option arguments for last-loaded plugin, or return
  39.    error if none.  */
  40. extern int plugin_opt_plugin_arg (const char *arg);
  41.  
  42. /* Load up and initialise all plugins after argument parsing.  */
  43. extern void plugin_load_plugins (void);
  44.  
  45. /* Return name of plugin which caused an error in any of the above.  */
  46. extern const char *plugin_error_plugin (void);
  47.  
  48. /* Call 'claim file' hook for all plugins.  */
  49. extern void plugin_maybe_claim (lang_input_statement_type *);
  50.  
  51. /* Call 'all symbols read' hook for all plugins.  */
  52. extern int plugin_call_all_symbols_read (void);
  53.  
  54. /* Call 'cleanup' hook for all plugins at exit.  */
  55. extern void plugin_call_cleanup (void);
  56.  
  57. #endif /* !def GLD_PLUGIN_H */
  58.