* libecoff.h (struct ecoff_backend_data): Add adjust_headers
[deliverable/binutils-gdb.git] / bfd / libbfd.h
index a9484ee253473890e349d24f7bfe35b5cf5d97f0..a57e292106c1e7e4d69878ad57e8e2def1705534 100644 (file)
@@ -1,6 +1,6 @@
 /* libbfd.h -- Declarations used by bfd library *implementation*.
    (This include file is not for users of the library.)
-   Copyright 1990, 1991, 1992, 1993, 1994 Free Software Foundation, Inc.
+   Copyright 1990, 1991, 1992, 1993, 1994, 1995 Free Software Foundation, Inc.
    Written by Cygnus Support.
 
 ** NOTE: libbfd.h is a GENERATED file.  Don't change it; instead,
@@ -21,7 +21,7 @@ GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License
 along with this program; if not, write to the Free Software
-Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.  */
+Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  */
 
 /* Align an address upward to a boundary, expressed as a number of bytes.
    E.g. align to an 8-byte boundary with argument of 8.  */
@@ -72,6 +72,8 @@ struct areltdata {
 
 char *bfd_zmalloc PARAMS ((bfd_size_type size));
 
+extern bfd_error_handler_type _bfd_error_handler;
+
 /* These routines allocate and free things on the BFD's obstack.  Note
    that realloc can never occur in place.  */
 
@@ -148,8 +150,16 @@ extern boolean _bfd_generic_get_section_contents
 
 #define _bfd_generic_bfd_copy_private_bfd_data \
   ((boolean (*) PARAMS ((bfd *, bfd *))) bfd_true)
+#define _bfd_generic_bfd_merge_private_bfd_data \
+  ((boolean (*) PARAMS ((bfd *, bfd *))) bfd_true)
+#define _bfd_generic_bfd_set_private_flags \
+  ((boolean (*) PARAMS ((bfd *, flagword))) bfd_true)
 #define _bfd_generic_bfd_copy_private_section_data \
   ((boolean (*) PARAMS ((bfd *, asection *, bfd *, asection *))) bfd_true)
+#define _bfd_generic_bfd_copy_private_symbol_data \
+  ((boolean (*) PARAMS ((bfd *, asymbol *, bfd *, asymbol *))) bfd_true)
+#define _bfd_generic_bfd_print_private_bfd_data \
+  ((boolean (*) PARAMS ((bfd *, void  *))) bfd_true)
 
 /* Routines to use for BFD_JUMP_TABLE_CORE when there is no core file
    support.  Use BFD_JUMP_TABLE_CORE (_bfd_nocore).  */
@@ -233,6 +243,11 @@ extern boolean _bfd_archive_coff_construct_extended_name_table
    bfd_false)
 #define _bfd_nosymbols_bfd_make_debug_symbol \
   ((asymbol *(*) PARAMS ((bfd *, PTR, unsigned long))) bfd_nullvoidptr)
+#define _bfd_nosymbols_read_minisymbols \
+  ((long (*) PARAMS ((bfd *, boolean, PTR *, unsigned int *))) _bfd_n1)
+#define _bfd_nosymbols_minisymbol_to_symbol \
+  ((asymbol *(*) PARAMS ((bfd *, boolean, const PTR, asymbol *))) \
+   bfd_nullvoidptr)
 
 /* Routines to use for BFD_JUMP_TABLE_RELOCS when there is no reloc
    support.  Use BFD_JUMP_TABLE_RELOCS (_bfd_norelocs).  */
@@ -242,7 +257,7 @@ extern boolean _bfd_archive_coff_construct_extended_name_table
 #define _bfd_norelocs_canonicalize_reloc \
   ((long (*) PARAMS ((bfd *, asection *, arelent **, asymbol **))) _bfd_n1)
 #define _bfd_norelocs_bfd_reloc_type_lookup \
-  ((const reloc_howto_type *(*) PARAMS ((bfd *, bfd_reloc_code_real_type))) \
+  ((reloc_howto_type *(*) PARAMS ((bfd *, bfd_reloc_code_real_type))) \
    bfd_nullvoidptr)
 
 /* Routines to use for BFD_JUMP_TABLE_WRITE for targets which may not
@@ -281,6 +296,8 @@ extern boolean _bfd_generic_set_section_contents
   ((boolean (*) PARAMS ((bfd *, struct bfd_link_info *))) bfd_false)
 #define _bfd_nolink_bfd_final_link \
   ((boolean (*) PARAMS ((bfd *, struct bfd_link_info *))) bfd_false)
+#define _bfd_nolink_bfd_link_split_section \
+  ((boolean (*) PARAMS ((bfd *, struct sec *))) bfd_false)
 
 /* Routines to use for BFD_JUMP_TABLE_DYNAMIC for targets which do not
    have dynamic symbols or relocs.  Use BFD_JUMP_TABLE_DYNAMIC
@@ -297,6 +314,12 @@ extern boolean _bfd_generic_set_section_contents
    label.  */
 extern boolean bfd_generic_is_local_label PARAMS ((bfd *, asymbol *));
 
+/* Generic minisymbol routines.  */
+extern long _bfd_generic_read_minisymbols
+  PARAMS ((bfd *, boolean, PTR *, unsigned int *));
+extern asymbol *_bfd_generic_minisymbol_to_symbol
+  PARAMS ((bfd *, boolean, const PTR, asymbol *));
+
 /* A routine to create entries for a bfd_link_hash_table.  */
 extern struct bfd_hash_entry *_bfd_link_hash_newfunc
   PARAMS ((struct bfd_hash_entry *entry,
@@ -342,6 +365,9 @@ extern boolean _bfd_generic_link_add_one_symbol
 extern boolean _bfd_generic_final_link
   PARAMS ((bfd *, struct bfd_link_info *));
 
+extern boolean _bfd_generic_link_split_section
+  PARAMS ((bfd *, struct sec *));
+
 /* Generic reloc_link_order processing routine.  */
 extern boolean _bfd_generic_reloc_link_order
   PARAMS ((bfd *, struct bfd_link_info *, asection *,
@@ -358,12 +384,12 @@ extern unsigned int _bfd_count_link_order_relocs
 
 /* Final link relocation routine.  */
 extern bfd_reloc_status_type _bfd_final_link_relocate
-  PARAMS ((const reloc_howto_type *, bfd *, asection *, bfd_byte *,
+  PARAMS ((reloc_howto_type *, bfd *, asection *, bfd_byte *,
           bfd_vma address, bfd_vma value, bfd_vma addend));
 
 /* Relocate a particular location by a howto and a value.  */
 extern bfd_reloc_status_type _bfd_relocate_contents
-  PARAMS ((const reloc_howto_type *, bfd *, bfd_vma, bfd_byte *));
+  PARAMS ((reloc_howto_type *, bfd *, bfd_vma, bfd_byte *));
 
 /* Create a string table.  */
 extern struct bfd_strtab_hash *_bfd_stringtab_init PARAMS ((void));
@@ -420,10 +446,22 @@ extern bfd *bfd_last_cache;
 extern const bfd_target * const bfd_target_vector[];
 extern const bfd_target * const bfd_default_vector[];
 
-/* And more follows */
+/* Functions shared by the ECOFF and MIPS ELF backends, which have no
+   other common header files.  */
 
-void 
-bfd_check_init PARAMS ((void));
+#if defined(__STDC__) || defined(ALMOST_STDC)
+struct ecoff_find_line;
+#endif
+
+extern boolean _bfd_ecoff_locate_line
+  PARAMS ((bfd *, asection *, bfd_vma, struct ecoff_debug_info * const,
+          const struct ecoff_debug_swap * const, struct ecoff_find_line *,
+          const char **, const char **, unsigned int *));
+extern boolean _bfd_ecoff_get_accumulated_pdr PARAMS ((PTR, bfd_byte *));
+extern boolean _bfd_ecoff_get_accumulated_sym PARAMS ((PTR, bfd_byte *));
+extern boolean _bfd_ecoff_get_accumulated_ss PARAMS ((PTR, bfd_byte *));
+
+/* And more follows */
 
 void 
 bfd_write_bigendian_4byte_int PARAMS ((bfd *abfd,  int i));
@@ -466,9 +504,35 @@ static const char *const bfd_reloc_code_real_names[] = { "@@uninitialized@@",
   "BFD_RELOC_16_PCREL",
   "BFD_RELOC_12_PCREL",
   "BFD_RELOC_8_PCREL",
+  "BFD_RELOC_32_GOT_PCREL",
+  "BFD_RELOC_16_GOT_PCREL",
+  "BFD_RELOC_8_GOT_PCREL",
+  "BFD_RELOC_32_GOTOFF",
+  "BFD_RELOC_16_GOTOFF",
+  "BFD_RELOC_LO16_GOTOFF",
+  "BFD_RELOC_HI16_GOTOFF",
+  "BFD_RELOC_HI16_S_GOTOFF",
+  "BFD_RELOC_8_GOTOFF",
+  "BFD_RELOC_32_PLT_PCREL",
+  "BFD_RELOC_24_PLT_PCREL",
+  "BFD_RELOC_16_PLT_PCREL",
+  "BFD_RELOC_8_PLT_PCREL",
+  "BFD_RELOC_32_PLTOFF",
+  "BFD_RELOC_16_PLTOFF",
+  "BFD_RELOC_LO16_PLTOFF",
+  "BFD_RELOC_HI16_PLTOFF",
+  "BFD_RELOC_HI16_S_PLTOFF",
+  "BFD_RELOC_8_PLTOFF",
+  "BFD_RELOC_68K_GLOB_DAT",
+  "BFD_RELOC_68K_JMP_SLOT",
+  "BFD_RELOC_68K_RELATIVE",
   "BFD_RELOC_32_BASEREL",
   "BFD_RELOC_16_BASEREL",
+  "BFD_RELOC_LO16_BASEREL",
+  "BFD_RELOC_HI16_BASEREL",
+  "BFD_RELOC_HI16_S_BASEREL",
   "BFD_RELOC_8_BASEREL",
+  "BFD_RELOC_RVA",
   "BFD_RELOC_8_FFnn",
   "BFD_RELOC_32_PCREL_S2",
   "BFD_RELOC_16_PCREL_S2",
@@ -545,6 +609,17 @@ static const char *const bfd_reloc_code_real_names[] = { "@@uninitialized@@",
   "BFD_RELOC_PPC_B26",
   "BFD_RELOC_PPC_BA26",
   "BFD_RELOC_PPC_TOC16",
+  "BFD_RELOC_PPC_B16",
+  "BFD_RELOC_PPC_B16_BRTAKEN",
+  "BFD_RELOC_PPC_B16_BRNTAKEN",
+  "BFD_RELOC_PPC_BA16",
+  "BFD_RELOC_PPC_BA16_BRTAKEN",
+  "BFD_RELOC_PPC_BA16_BRNTAKEN",
+  "BFD_RELOC_PPC_COPY",
+  "BFD_RELOC_PPC_GLOB_DAT",
+  "BFD_RELOC_PPC_JMP_SLOT",
+  "BFD_RELOC_PPC_RELATIVE",
+  "BFD_RELOC_PPC_LOCAL24PC",
   "BFD_RELOC_CTOR",
   "BFD_RELOC_ARM_PCREL_BRANCH",
   "BFD_RELOC_ARM_IMMEDIATE",
@@ -553,11 +628,19 @@ static const char *const bfd_reloc_code_real_names[] = { "@@uninitialized@@",
   "BFD_RELOC_ARM_SWI",
   "BFD_RELOC_ARM_MULTI",
   "BFD_RELOC_ARM_CP_OFF_IMM",
+  "BFD_RELOC_ARM_ADR_IMM",
+  "BFD_RELOC_ARM_LDR_IMM",
+  "BFD_RELOC_ARM_LITERAL",
+  "BFD_RELOC_ARM_IN_POOL",
+/* start-sanitize-arc */
+  "BFD_RELOC_ARC_B22_PCREL",
+  "BFD_RELOC_ARC_B26",
+/* end-sanitize-arc */
  "@@overflow: BFD_RELOC_UNUSED@@",
 };
 #endif
 
-const struct reloc_howto_struct *
+reloc_howto_type *
 bfd_default_reloc_type_lookup
  PARAMS ((bfd *abfd, bfd_reloc_code_real_type  code));
 
@@ -577,25 +660,19 @@ bfd_generic_get_relocated_section_contents  PARAMS ((bfd *abfd,
     boolean relocateable,
     asymbol **symbols));
 
-extern bfd_arch_info_type bfd_default_arch_struct;
+extern const bfd_arch_info_type bfd_default_arch_struct;
 boolean 
 bfd_default_set_arch_mach PARAMS ((bfd *abfd,
     enum bfd_architecture arch,
     unsigned long mach));
 
-void 
-bfd_arch_init PARAMS ((void));
-
-void 
-bfd_arch_linkin PARAMS ((bfd_arch_info_type *ptr));
-
-CONST bfd_arch_info_type *
+const bfd_arch_info_type *
 bfd_default_compatible
- PARAMS ((CONST bfd_arch_info_type *a,
-    CONST bfd_arch_info_type *b));
+ PARAMS ((const bfd_arch_info_type *a,
+    const bfd_arch_info_type *b));
 
 boolean 
-bfd_default_scan PARAMS ((CONST struct bfd_arch_info *info, CONST char *string));
+bfd_default_scan PARAMS ((const struct bfd_arch_info *info, const char *string));
 
 struct elf_internal_shdr *
 bfd_elf_find_section  PARAMS ((bfd *abfd, char *name));
This page took 0.027141 seconds and 4 git commands to generate.