/* Main header file for the bfd library -- portable access to object files.
- Copyright 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
- 2000, 2001, 2002
- Free Software Foundation, Inc.
+
+ Copyright 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998,
+ 1999, 2000, 2001, 2002, 2003 Free Software Foundation, Inc.
+
Contributed by Cygnus Support.
This file is part of BFD, the Binary File Descriptor library.
#endif
/* Forward declaration. */
-typedef struct _bfd bfd;
+typedef struct bfd bfd;
/* Boolean type used in bfd. Too many systems define their own
versions of "boolean" for us to safely typedef a "boolean" of
- our own. Using an enum for "bfd_boolean" has it's own set of
+ our own. Using an enum for "bfd_boolean" has its own set of
problems, with strange looking casts required to avoid warnings
on some older compilers. Thus we just use an int.
- General rule: functions which are bfd_boolean return TRUE on
+ General rule: Functions which are bfd_boolean return TRUE on
success and FALSE on failure (unless they're a predicate). */
typedef int bfd_boolean;
/* Byte swapping routines. */
-bfd_vma bfd_getb64
+bfd_vma bfd_getb64
PARAMS ((const unsigned char *));
-bfd_vma bfd_getl64
+bfd_vma bfd_getl64
PARAMS ((const unsigned char *));
-bfd_signed_vma bfd_getb_signed_64
+bfd_signed_vma bfd_getb_signed_64
PARAMS ((const unsigned char *));
-bfd_signed_vma bfd_getl_signed_64
+bfd_signed_vma bfd_getl_signed_64
PARAMS ((const unsigned char *));
-bfd_vma bfd_getb32
+bfd_vma bfd_getb32
PARAMS ((const unsigned char *));
-bfd_vma bfd_getl32
+bfd_vma bfd_getl32
PARAMS ((const unsigned char *));
-bfd_signed_vma bfd_getb_signed_32
+bfd_signed_vma bfd_getb_signed_32
PARAMS ((const unsigned char *));
-bfd_signed_vma bfd_getl_signed_32
+bfd_signed_vma bfd_getl_signed_32
PARAMS ((const unsigned char *));
-bfd_vma bfd_getb16
+bfd_vma bfd_getb16
PARAMS ((const unsigned char *));
-bfd_vma bfd_getl16
+bfd_vma bfd_getl16
PARAMS ((const unsigned char *));
-bfd_signed_vma bfd_getb_signed_16
+bfd_signed_vma bfd_getb_signed_16
PARAMS ((const unsigned char *));
-bfd_signed_vma bfd_getl_signed_16
+bfd_signed_vma bfd_getl_signed_16
PARAMS ((const unsigned char *));
-void bfd_putb64
+void bfd_putb64
PARAMS ((bfd_vma, unsigned char *));
-void bfd_putl64
+void bfd_putl64
PARAMS ((bfd_vma, unsigned char *));
-void bfd_putb32
+void bfd_putb32
PARAMS ((bfd_vma, unsigned char *));
-void bfd_putl32
+void bfd_putl32
PARAMS ((bfd_vma, unsigned char *));
-void bfd_putb16
+void bfd_putb16
PARAMS ((bfd_vma, unsigned char *));
-void bfd_putl16
+void bfd_putl16
PARAMS ((bfd_vma, unsigned char *));
/* Byte swapping routines which take size and endiannes as arguments. */
-bfd_vma bfd_get_bits
+bfd_vma bfd_get_bits
PARAMS ((bfd_byte *, int, bfd_boolean));
-void bfd_put_bits
+void bfd_put_bits
PARAMS ((bfd_vma, bfd_byte *, int, bfd_boolean));
\f
/* Externally visible ECOFF routines. */
const struct ecoff_debug_swap *swap,
bfd_boolean relocateable,
bfd_boolean (*get_extr) (struct symbol_cache_entry *,
- struct ecoff_extr *),
+ struct ecoff_extr *),
void (*set_index) (struct symbol_cache_entry *,
bfd_size_type)));
extern bfd_boolean bfd_ecoff_debug_one_external
const char *name;
};
-extern bfd_boolean bfd_elf32_record_link_assignment
- PARAMS ((bfd *, struct bfd_link_info *, const char *, bfd_boolean));
-extern bfd_boolean bfd_elf64_record_link_assignment
+extern bfd_boolean bfd_elf_record_link_assignment
PARAMS ((bfd *, struct bfd_link_info *, const char *, bfd_boolean));
extern struct bfd_link_needed_list *bfd_elf_get_needed_list
PARAMS ((bfd *, struct bfd_link_info *));
extern bfd_boolean bfd_elf32_arm_add_glue_sections_to_bfd
PARAMS ((bfd *, struct bfd_link_info *));
+/* ARM Note section processing. */
+extern bfd_boolean bfd_arm_merge_machines
+ PARAMS ((bfd *, bfd *));
+
+extern bfd_boolean bfd_arm_update_notes
+ PARAMS ((bfd *, const char *));
+
+extern unsigned int bfd_arm_get_mach_from_notes
+ PARAMS ((bfd *, const char *));
+
/* TI COFF load page support. */
extern void bfd_ticoff_set_section_load_page
PARAMS ((struct sec *, int));