Line 1... |
Line 1... |
/* Generic target-file-type support for the BFD library.
|
/* Generic target-file-type support for the BFD library.
|
Copyright 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
|
Copyright 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
|
2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
|
2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011
|
Free Software Foundation, Inc.
|
Free Software Foundation, Inc.
|
Written by Cygnus Support.
|
Written by Cygnus Support.
|
|
|
This file is part of BFD, the Binary File Descriptor library.
|
This file is part of BFD, the Binary File Descriptor library.
|
|
|
Line 175... |
Line 175... |
.enum bfd_endian { BFD_ENDIAN_BIG, BFD_ENDIAN_LITTLE, BFD_ENDIAN_UNKNOWN };
|
.enum bfd_endian { BFD_ENDIAN_BIG, BFD_ENDIAN_LITTLE, BFD_ENDIAN_UNKNOWN };
|
.
|
.
|
.{* Forward declaration. *}
|
.{* Forward declaration. *}
|
.typedef struct bfd_link_info _bfd_link_info;
|
.typedef struct bfd_link_info _bfd_link_info;
|
.
|
.
|
|
.{* Forward declaration. *}
|
|
.typedef struct flag_info flag_info;
|
|
.
|
.typedef struct bfd_target
|
.typedef struct bfd_target
|
.{
|
.{
|
. {* Identifies the kind of target, e.g., SunOS4, Ultrix, etc. *}
|
. {* Identifies the kind of target, e.g., SunOS4, Ultrix, etc. *}
|
. char *name;
|
. char *name;
|
.
|
.
|
Line 446... |
Line 449... |
. NAME##_bfd_link_just_syms, \
|
. NAME##_bfd_link_just_syms, \
|
. NAME##_bfd_copy_link_hash_symbol_type, \
|
. NAME##_bfd_copy_link_hash_symbol_type, \
|
. NAME##_bfd_final_link, \
|
. NAME##_bfd_final_link, \
|
. NAME##_bfd_link_split_section, \
|
. NAME##_bfd_link_split_section, \
|
. NAME##_bfd_gc_sections, \
|
. NAME##_bfd_gc_sections, \
|
|
. NAME##_bfd_lookup_section_flags, \
|
. NAME##_bfd_merge_sections, \
|
. NAME##_bfd_merge_sections, \
|
. NAME##_bfd_is_group_section, \
|
. NAME##_bfd_is_group_section, \
|
. NAME##_bfd_discard_group, \
|
. NAME##_bfd_discard_group, \
|
. NAME##_section_already_linked, \
|
. NAME##_section_already_linked, \
|
. NAME##_bfd_define_common_symbol
|
. NAME##_bfd_define_common_symbol
|
Line 490... |
Line 494... |
. bfd_boolean (*_bfd_link_split_section) (bfd *, struct bfd_section *);
|
. bfd_boolean (*_bfd_link_split_section) (bfd *, struct bfd_section *);
|
.
|
.
|
. {* Remove sections that are not referenced from the output. *}
|
. {* Remove sections that are not referenced from the output. *}
|
. bfd_boolean (*_bfd_gc_sections) (bfd *, struct bfd_link_info *);
|
. bfd_boolean (*_bfd_gc_sections) (bfd *, struct bfd_link_info *);
|
.
|
.
|
|
. {* Sets the bitmask of allowed and disallowed section flags. *}
|
|
. void (*_bfd_lookup_section_flags) (struct bfd_link_info *,
|
|
. struct flag_info *);
|
|
.
|
. {* Attempt to merge SEC_MERGE sections. *}
|
. {* Attempt to merge SEC_MERGE sections. *}
|
. bfd_boolean (*_bfd_merge_sections) (bfd *, struct bfd_link_info *);
|
. bfd_boolean (*_bfd_merge_sections) (bfd *, struct bfd_link_info *);
|
.
|
.
|
. {* Is this section a member of a group? *}
|
. {* Is this section a member of a group? *}
|
. bfd_boolean (*_bfd_is_group_section) (bfd *, const struct bfd_section *);
|
. bfd_boolean (*_bfd_is_group_section) (bfd *, const struct bfd_section *);
|
Line 501... |
Line 509... |
. {* Discard members of a group. *}
|
. {* Discard members of a group. *}
|
. bfd_boolean (*_bfd_discard_group) (bfd *, struct bfd_section *);
|
. bfd_boolean (*_bfd_discard_group) (bfd *, struct bfd_section *);
|
.
|
.
|
. {* Check if SEC has been already linked during a reloceatable or
|
. {* Check if SEC has been already linked during a reloceatable or
|
. final link. *}
|
. final link. *}
|
. void (*_section_already_linked) (bfd *, struct bfd_section *,
|
. bfd_boolean (*_section_already_linked) (bfd *, asection *,
|
. struct bfd_link_info *);
|
. struct bfd_link_info *);
|
.
|
.
|
. {* Define a common symbol. *}
|
. {* Define a common symbol. *}
|
. bfd_boolean (*_bfd_define_common_symbol) (bfd *, struct bfd_link_info *,
|
. bfd_boolean (*_bfd_define_common_symbol) (bfd *, struct bfd_link_info *,
|
. struct bfd_link_hash_entry *);
|
. struct bfd_link_hash_entry *);
|
Line 607... |
Line 615... |
extern const bfd_target bfd_elf32_hppa_linux_vec;
|
extern const bfd_target bfd_elf32_hppa_linux_vec;
|
extern const bfd_target bfd_elf32_hppa_nbsd_vec;
|
extern const bfd_target bfd_elf32_hppa_nbsd_vec;
|
extern const bfd_target bfd_elf32_hppa_vec;
|
extern const bfd_target bfd_elf32_hppa_vec;
|
extern const bfd_target bfd_elf32_i370_vec;
|
extern const bfd_target bfd_elf32_i370_vec;
|
extern const bfd_target bfd_elf32_i386_freebsd_vec;
|
extern const bfd_target bfd_elf32_i386_freebsd_vec;
|
|
extern const bfd_target bfd_elf32_i386_nacl_vec;
|
extern const bfd_target bfd_elf32_i386_sol2_vec;
|
extern const bfd_target bfd_elf32_i386_sol2_vec;
|
extern const bfd_target bfd_elf32_i386_vxworks_vec;
|
extern const bfd_target bfd_elf32_i386_vxworks_vec;
|
extern const bfd_target bfd_elf32_i386_vec;
|
extern const bfd_target bfd_elf32_i386_vec;
|
extern const bfd_target bfd_elf32_i860_little_vec;
|
extern const bfd_target bfd_elf32_i860_little_vec;
|
extern const bfd_target bfd_elf32_i860_vec;
|
extern const bfd_target bfd_elf32_i860_vec;
|
Line 740... |
Line 749... |
extern const bfd_target bfd_elf64_x86_64_sol2_vec;
|
extern const bfd_target bfd_elf64_x86_64_sol2_vec;
|
extern const bfd_target bfd_elf64_x86_64_vec;
|
extern const bfd_target bfd_elf64_x86_64_vec;
|
extern const bfd_target bfd_elf32_x86_64_vec;
|
extern const bfd_target bfd_elf32_x86_64_vec;
|
extern const bfd_target bfd_elf64_l1om_freebsd_vec;
|
extern const bfd_target bfd_elf64_l1om_freebsd_vec;
|
extern const bfd_target bfd_elf64_l1om_vec;
|
extern const bfd_target bfd_elf64_l1om_vec;
|
|
extern const bfd_target bfd_elf64_k1om_freebsd_vec;
|
|
extern const bfd_target bfd_elf64_k1om_vec;
|
extern const bfd_target bfd_mmo_vec;
|
extern const bfd_target bfd_mmo_vec;
|
extern const bfd_target bfd_powerpc_pe_vec;
|
extern const bfd_target bfd_powerpc_pe_vec;
|
extern const bfd_target bfd_powerpc_pei_vec;
|
extern const bfd_target bfd_powerpc_pei_vec;
|
extern const bfd_target bfd_powerpcle_pe_vec;
|
extern const bfd_target bfd_powerpcle_pe_vec;
|
extern const bfd_target bfd_powerpcle_pei_vec;
|
extern const bfd_target bfd_powerpcle_pei_vec;
|
Line 966... |
Line 977... |
&bfd_elf32_hppa_linux_vec,
|
&bfd_elf32_hppa_linux_vec,
|
&bfd_elf32_hppa_nbsd_vec,
|
&bfd_elf32_hppa_nbsd_vec,
|
&bfd_elf32_hppa_vec,
|
&bfd_elf32_hppa_vec,
|
&bfd_elf32_i370_vec,
|
&bfd_elf32_i370_vec,
|
&bfd_elf32_i386_freebsd_vec,
|
&bfd_elf32_i386_freebsd_vec,
|
|
&bfd_elf32_i386_nacl_vec,
|
&bfd_elf32_i386_sol2_vec,
|
&bfd_elf32_i386_sol2_vec,
|
&bfd_elf32_i386_vxworks_vec,
|
&bfd_elf32_i386_vxworks_vec,
|
&bfd_elf32_i386_vec,
|
&bfd_elf32_i386_vec,
|
&bfd_elf32_i860_little_vec,
|
&bfd_elf32_i860_little_vec,
|
&bfd_elf32_i860_vec,
|
&bfd_elf32_i860_vec,
|
Line 1104... |
Line 1116... |
&bfd_elf64_x86_64_sol2_vec,
|
&bfd_elf64_x86_64_sol2_vec,
|
&bfd_elf64_x86_64_vec,
|
&bfd_elf64_x86_64_vec,
|
&bfd_elf32_x86_64_vec,
|
&bfd_elf32_x86_64_vec,
|
&bfd_elf64_l1om_freebsd_vec,
|
&bfd_elf64_l1om_freebsd_vec,
|
&bfd_elf64_l1om_vec,
|
&bfd_elf64_l1om_vec,
|
|
&bfd_elf64_k1om_freebsd_vec,
|
|
&bfd_elf64_k1om_vec,
|
&bfd_mmo_vec,
|
&bfd_mmo_vec,
|
#endif
|
#endif
|
&bfd_powerpc_pe_vec,
|
&bfd_powerpc_pe_vec,
|
&bfd_powerpc_pei_vec,
|
&bfd_powerpc_pei_vec,
|
&bfd_powerpcle_pe_vec,
|
&bfd_powerpcle_pe_vec,
|