* aoutf1.h (sunos_32_set_arch_mach): Handle M_SPARCLET.
[deliverable/binutils-gdb.git] / bfd / elfxx-target.h
index 6c71c3782ae37b103a9b51e06afd466511cfac28..f1573f4b0a0edc0828f6a0c202fed0fc06443f9f 100644 (file)
@@ -15,7 +15,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.  */
 
 /* This structure contains everything that BFD knows about a target.
    It includes things like its byte order, name, what routines to call
@@ -36,13 +36,15 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.  */
 #ifndef bfd_elfNN_find_nearest_line
 #define bfd_elfNN_find_nearest_line    _bfd_elf_find_nearest_line
 #endif
+#define bfd_elfNN_read_minisymbols     _bfd_elf_read_minisymbols
+#define bfd_elfNN_minisymbol_to_symbol _bfd_elf_minisymbol_to_symbol
 #define bfd_elfNN_get_dynamic_symtab_upper_bound _bfd_elf_get_dynamic_symtab_upper_bound
 #define bfd_elfNN_get_lineno           _bfd_elf_get_lineno
 #define bfd_elfNN_get_reloc_upper_bound _bfd_elf_get_reloc_upper_bound
 #define bfd_elfNN_get_symbol_info      _bfd_elf_get_symbol_info
 #define bfd_elfNN_get_symtab           _bfd_elf_get_symtab
 #define bfd_elfNN_get_symtab_upper_bound _bfd_elf_get_symtab_upper_bound
-#if 0 /* done in libelf.h */
+#if 0 /* done in elf-bfd.h */
 #define bfd_elfNN_link_record_dynamic_symbol _bfd_elf_link_record_dynamic_symbol
 #endif
 #define bfd_elfNN_make_empty_symbol    _bfd_elf_make_empty_symbol
@@ -54,6 +56,9 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.  */
 #define bfd_elfNN_sizeof_headers       _bfd_elf_sizeof_headers
 #define bfd_elfNN_write_object_contents _bfd_elf_write_object_contents
 
+#define bfd_elfNN_get_section_contents_in_window \
+  _bfd_generic_get_section_contents_in_window
+
 #ifndef elf_backend_want_got_plt
 #define elf_backend_want_got_plt 0
 #endif
@@ -64,6 +69,10 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.  */
 #define elf_backend_want_plt_sym 0
 #endif
 
+#ifndef elf_backend_want_hdr_in_seg
+#define elf_backend_want_hdr_in_seg 0
+#endif
+
 #define bfd_elfNN_bfd_debug_info_start bfd_void
 #define bfd_elfNN_bfd_debug_info_end   bfd_void
 #define bfd_elfNN_bfd_debug_info_accumulate    (PROTO(void,(*),(bfd*, struct sec *))) bfd_void
@@ -79,16 +88,21 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.  */
 
 #ifndef bfd_elfNN_bfd_copy_private_symbol_data
 #define bfd_elfNN_bfd_copy_private_symbol_data \
-  ((boolean (*) PARAMS ((bfd *, asymbol *, bfd *, asymbol *))) bfd_true)
+  _bfd_elf_copy_private_symbol_data
 #endif
+
 #ifndef bfd_elfNN_bfd_copy_private_section_data
 #define bfd_elfNN_bfd_copy_private_section_data \
-  ((boolean (*) PARAMS ((bfd *, asection *, bfd *, asection *))) bfd_true)
+  _bfd_elf_copy_private_section_data
 #endif
 #ifndef bfd_elfNN_bfd_copy_private_bfd_data
 #define bfd_elfNN_bfd_copy_private_bfd_data \
   ((boolean (*) PARAMS ((bfd *, bfd *))) bfd_true)
 #endif
+#ifndef bfd_elfNN_bfd_print_private_bfd_data
+#define bfd_elfNN_bfd_print_private_bfd_data \
+  _bfd_elf_print_private_bfd_data
+#endif
 #ifndef bfd_elfNN_bfd_merge_private_bfd_data
 #define bfd_elfNN_bfd_merge_private_bfd_data \
   ((boolean (*) PARAMS ((bfd *, bfd *))) bfd_true)
@@ -142,6 +156,9 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.  */
 #ifndef elf_backend_collect
 #define elf_backend_collect false
 #endif
+#ifndef elf_backend_type_change_ok
+#define elf_backend_type_change_ok false
+#endif
 
 #ifndef elf_backend_sym_is_global
 #define elf_backend_sym_is_global      0
@@ -200,6 +217,12 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.  */
 #ifndef elf_backend_final_write_processing
 #define elf_backend_final_write_processing     0
 #endif
+#ifndef elf_backend_additional_program_headers
+#define elf_backend_additional_program_headers 0
+#endif
+#ifndef elf_backend_modify_segment_map
+#define elf_backend_modify_segment_map 0
+#endif
 #ifndef elf_backend_ecoff_debug_swap
 #define elf_backend_ecoff_debug_swap   0
 #endif
@@ -225,6 +248,7 @@ static CONST struct elf_backend_data elfNN_bed =
   ELF_MACHINE_CODE,            /* elf_machine_code */
   ELF_MAXPAGESIZE,             /* maxpagesize */
   elf_backend_collect,
+  elf_backend_type_change_ok,
   elf_info_to_howto,
   elf_info_to_howto_rel,
   elf_backend_sym_is_global,
@@ -246,6 +270,8 @@ static CONST struct elf_backend_data elfNN_bed =
   elf_backend_finish_dynamic_sections,
   elf_backend_begin_write_processing,
   elf_backend_final_write_processing,
+  elf_backend_additional_program_headers,
+  elf_backend_modify_segment_map,
   elf_backend_ecoff_debug_swap,
   ELF_MACHINE_ALT1,
   ELF_MACHINE_ALT2,
@@ -253,6 +279,7 @@ static CONST struct elf_backend_data elfNN_bed =
   elf_backend_want_got_plt,
   elf_backend_plt_readonly,
   elf_backend_want_plt_sym,
+  elf_backend_want_hdr_in_seg,
 };
 
 #ifdef TARGET_BIG_SYM
@@ -264,11 +291,11 @@ const bfd_target TARGET_BIG_SYM =
   /* flavour: general indication about file */
   bfd_target_elf_flavour,
 
-  /* byteorder_big_p: data is big endian */
-  true,
+  /* byteorder: data is big endian */
+  BFD_ENDIAN_BIG,
 
-  /* header_byteorder_big_p: header is also big endian */
-  true,
+  /* header_byteorder: header is also big endian */
+  BFD_ENDIAN_BIG,
 
   /* object_flags: mask of all file flags */
   (HAS_RELOC | EXEC_P | HAS_LINENO | HAS_DEBUG | HAS_SYMS | HAS_LOCALS |
@@ -276,7 +303,7 @@ const bfd_target TARGET_BIG_SYM =
   
   /* section_flags: mask of all section flags */
   (SEC_HAS_CONTENTS | SEC_ALLOC | SEC_LOAD | SEC_RELOC | SEC_READONLY |
-   SEC_CODE | SEC_DATA | SEC_DEBUGGING),
+   SEC_CODE | SEC_DATA | SEC_DEBUGGING | SEC_EXCLUDE | SEC_SORT_ENTRIES),
 
    /* leading_symbol_char: is the first char of a user symbol
       predictable, and if so what is it */
@@ -293,10 +320,6 @@ const bfd_target TARGET_BIG_SYM =
      a WAG (wild a** guess) */
   14,
 
-  /* align_power_min: minimum alignment restriction for any section
-     FIXME:  this value may be target machine dependent */
-  3,
-
   /* Routines to byte-swap various sized integers from the data sections */
   bfd_getb64, bfd_getb_signed_64, bfd_putb64,
     bfd_getb32, bfd_getb_signed_32, bfd_putb32,
@@ -352,11 +375,11 @@ const bfd_target TARGET_LITTLE_SYM =
   /* flavour: general indication about file */
   bfd_target_elf_flavour,
 
-  /* byteorder_big_p: data is big endian */
-  false,               /* Nope -- this one's little endian */
+  /* byteorder: data is little endian */
+  BFD_ENDIAN_LITTLE,
 
-  /* header_byteorder_big_p: header is also big endian */
-  false,               /* Nope -- this one's little endian */
+  /* header_byteorder: header is also little endian */
+  BFD_ENDIAN_LITTLE,
 
   /* object_flags: mask of all file flags */
   (HAS_RELOC | EXEC_P | HAS_LINENO | HAS_DEBUG | HAS_SYMS | HAS_LOCALS |
@@ -364,7 +387,7 @@ const bfd_target TARGET_LITTLE_SYM =
   
   /* section_flags: mask of all section flags */
   (SEC_HAS_CONTENTS | SEC_ALLOC | SEC_LOAD | SEC_RELOC | SEC_READONLY |
-   SEC_CODE | SEC_DATA | SEC_DEBUGGING),
+   SEC_CODE | SEC_DATA | SEC_DEBUGGING | SEC_EXCLUDE | SEC_SORT_ENTRIES),
 
    /* leading_symbol_char: is the first char of a user symbol
       predictable, and if so what is it */
@@ -381,10 +404,6 @@ const bfd_target TARGET_LITTLE_SYM =
      a WAG (wild a** guess) */
   14,
 
-  /* align_power_min: minimum alignment restriction for any section
-     FIXME:  this value may be target machine dependent */
-  3,
-
   /* Routines to byte-swap various sized integers from the data sections */
   bfd_getl64, bfd_getl_signed_64, bfd_putl64,
     bfd_getl32, bfd_getl_signed_32, bfd_putl32,
This page took 0.025694 seconds and 4 git commands to generate.