PR17074 - ignore line terminator characters found inside strings.
[deliverable/binutils-gdb.git] / bfd / elfxx-target.h
index f1573f4b0a0edc0828f6a0c202fed0fc06443f9f..eed0da661d46c4632da86cda1740382749cbcca3 100644 (file)
@@ -1,5 +1,5 @@
 /* Target definitions for NN-bit ELF
-   Copyright 1993, 1994, 1995 Free Software Foundation, Inc.
+   Copyright 1993, 1994, 1995, 1996, 1997 Free Software Foundation, Inc.
 
 This file is part of BFD, the Binary File Descriptor library.
 
@@ -40,7 +40,9 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  */
 #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
+#ifndef bfd_elfNN_get_reloc_upper_bound
 #define bfd_elfNN_get_reloc_upper_bound _bfd_elf_get_reloc_upper_bound
+#endif
 #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
@@ -69,10 +71,6 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, 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
@@ -82,7 +80,10 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  */
  bfd_generic_get_relocated_section_contents
 #endif
 
+#ifndef bfd_elfNN_bfd_relax_section
 #define bfd_elfNN_bfd_relax_section bfd_generic_relax_section
+#endif
+
 #define bfd_elfNN_bfd_make_debug_symbol \
   ((asymbol *(*) PARAMS ((bfd *, void *, unsigned long))) bfd_nullvoidptr)
 
@@ -111,17 +112,17 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  */
 #define bfd_elfNN_bfd_set_private_flags \
   ((boolean (*) PARAMS ((bfd *, flagword))) bfd_true)
 #endif
-#ifndef bfd_elfNN_bfd_is_local_label
-#define bfd_elfNN_bfd_is_local_label bfd_generic_is_local_label
+#ifndef bfd_elfNN_bfd_is_local_label_name
+#define bfd_elfNN_bfd_is_local_label_name bfd_generic_is_local_label_name
 #endif
 
 #ifndef bfd_elfNN_get_dynamic_reloc_upper_bound
 #define bfd_elfNN_get_dynamic_reloc_upper_bound \
-  _bfd_nodynamic_get_dynamic_reloc_upper_bound
+  _bfd_elf_get_dynamic_reloc_upper_bound
 #endif
 #ifndef bfd_elfNN_canonicalize_dynamic_reloc
 #define bfd_elfNN_canonicalize_dynamic_reloc \
-  _bfd_nodynamic_canonicalize_dynamic_reloc
+  _bfd_elf_canonicalize_dynamic_reloc
 #endif
 
 #ifdef elf_backend_relocate_section
@@ -145,6 +146,30 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  */
 #define bfd_elfNN_bfd_link_split_section _bfd_generic_link_split_section
 #endif
 
+#ifndef bfd_elfNN_archive_p
+#define bfd_elfNN_archive_p bfd_generic_archive_p
+#endif
+
+#ifndef bfd_elfNN_write_archive_contents
+#define bfd_elfNN_write_archive_contents _bfd_write_archive_contents
+#endif
+
+#ifndef bfd_elfNN_mkobject
+#define bfd_elfNN_mkobject bfd_elf_mkobject
+#endif
+
+#ifndef bfd_elfNN_mkarchive
+#define bfd_elfNN_mkarchive _bfd_generic_mkarchive
+#endif
+
+#ifndef elf_symbol_leading_char
+#define elf_symbol_leading_char 0
+#endif
+
+#ifndef elf_info_to_howto
+#define elf_info_to_howto 0
+#endif
+
 #ifndef elf_info_to_howto_rel
 #define elf_info_to_howto_rel 0
 #endif
@@ -199,6 +224,9 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  */
 #ifndef elf_backend_adjust_dynamic_symbol
 #define elf_backend_adjust_dynamic_symbol 0
 #endif
+#ifndef elf_backend_always_size_sections
+#define elf_backend_always_size_sections 0
+#endif
 #ifndef elf_backend_size_dynamic_sections
 #define elf_backend_size_dynamic_sections 0
 #endif
@@ -235,6 +263,10 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  */
 #define ELF_MACHINE_ALT2 0
 #endif
 
+#ifndef elf_backend_size_info
+#define elf_backend_size_info _bfd_elfNN_size_info
+#endif
+
 extern const struct elf_size_info _bfd_elfNN_size_info;
 
 static CONST struct elf_backend_data elfNN_bed =
@@ -264,6 +296,7 @@ static CONST struct elf_backend_data elfNN_bed =
   elf_backend_create_dynamic_sections,
   elf_backend_check_relocs,
   elf_backend_adjust_dynamic_symbol,
+  elf_backend_always_size_sections,
   elf_backend_size_dynamic_sections,
   elf_backend_relocate_section,
   elf_backend_finish_dynamic_symbol,
@@ -275,11 +308,10 @@ static CONST struct elf_backend_data elfNN_bed =
   elf_backend_ecoff_debug_swap,
   ELF_MACHINE_ALT1,
   ELF_MACHINE_ALT2,
-  &_bfd_elfNN_size_info,
+  &elf_backend_size_info,
   elf_backend_want_got_plt,
   elf_backend_plt_readonly,
-  elf_backend_want_plt_sym,
-  elf_backend_want_hdr_in_seg,
+  elf_backend_want_plt_sym
 };
 
 #ifdef TARGET_BIG_SYM
@@ -300,14 +332,14 @@ const bfd_target TARGET_BIG_SYM =
   /* object_flags: mask of all file flags */
   (HAS_RELOC | EXEC_P | HAS_LINENO | HAS_DEBUG | HAS_SYMS | HAS_LOCALS |
    DYNAMIC | WP_TEXT | D_PAGED),
-  
+
   /* 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_EXCLUDE | SEC_SORT_ENTRIES),
 
    /* leading_symbol_char: is the first char of a user symbol
       predictable, and if so what is it */
-   0,
+  elf_symbol_leading_char,
 
   /* ar_pad_char: pad character for filenames within an archive header
      FIXME:  this really has nothing to do with ELF, this is a characteristic
@@ -333,28 +365,32 @@ const bfd_target TARGET_BIG_SYM =
   /* bfd_check_format: check the format of a file being read */
   { _bfd_dummy_target,         /* unknown format */
     bfd_elfNN_object_p,                /* assembler/linker output (object file) */
-    bfd_generic_archive_p,     /* an archive */
+    bfd_elfNN_archive_p,       /* an archive */
     bfd_elfNN_core_file_p      /* a core file */
   },
 
   /* bfd_set_format: set the format of a file being written */
   { bfd_false,
-    bfd_elf_mkobject,
-    _bfd_generic_mkarchive,
+    bfd_elfNN_mkobject,
+    bfd_elfNN_mkarchive,
     bfd_false
   },
 
   /* bfd_write_contents: write cached information into a file being written */
   { bfd_false,
     bfd_elfNN_write_object_contents,
-    _bfd_write_archive_contents,
+    bfd_elfNN_write_archive_contents,
     bfd_false
   },
 
       BFD_JUMP_TABLE_GENERIC (bfd_elfNN),
       BFD_JUMP_TABLE_COPY (bfd_elfNN),
       BFD_JUMP_TABLE_CORE (bfd_elfNN),
+#ifdef bfd_elfNN_archive_functions
+      BFD_JUMP_TABLE_ARCHIVE (bfd_elfNN_archive),
+#else
       BFD_JUMP_TABLE_ARCHIVE (_bfd_archive_coff),
+#endif
       BFD_JUMP_TABLE_SYMBOLS (bfd_elfNN),
       BFD_JUMP_TABLE_RELOCS (bfd_elfNN),
       BFD_JUMP_TABLE_WRITE (bfd_elfNN),
@@ -384,14 +420,14 @@ const bfd_target TARGET_LITTLE_SYM =
   /* object_flags: mask of all file flags */
   (HAS_RELOC | EXEC_P | HAS_LINENO | HAS_DEBUG | HAS_SYMS | HAS_LOCALS |
    DYNAMIC | WP_TEXT | D_PAGED),
-  
+
   /* 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_EXCLUDE | SEC_SORT_ENTRIES),
 
    /* leading_symbol_char: is the first char of a user symbol
       predictable, and if so what is it */
-   0,
+  elf_symbol_leading_char,
 
   /* ar_pad_char: pad character for filenames within an archive header
      FIXME:  this really has nothing to do with ELF, this is a characteristic
@@ -417,28 +453,32 @@ const bfd_target TARGET_LITTLE_SYM =
   /* bfd_check_format: check the format of a file being read */
   { _bfd_dummy_target,         /* unknown format */
     bfd_elfNN_object_p,                /* assembler/linker output (object file) */
-    bfd_generic_archive_p,     /* an archive */
+    bfd_elfNN_archive_p,       /* an archive */
     bfd_elfNN_core_file_p      /* a core file */
   },
 
   /* bfd_set_format: set the format of a file being written */
   { bfd_false,
-    bfd_elf_mkobject,
-    _bfd_generic_mkarchive,
+    bfd_elfNN_mkobject,
+    bfd_elfNN_mkarchive,
     bfd_false
   },
 
   /* bfd_write_contents: write cached information into a file being written */
   { bfd_false,
     bfd_elfNN_write_object_contents,
-    _bfd_write_archive_contents,
+    bfd_elfNN_write_archive_contents,
     bfd_false
   },
 
       BFD_JUMP_TABLE_GENERIC (bfd_elfNN),
       BFD_JUMP_TABLE_COPY (bfd_elfNN),
       BFD_JUMP_TABLE_CORE (bfd_elfNN),
+#ifdef bfd_elfNN_archive_functions
+      BFD_JUMP_TABLE_ARCHIVE (bfd_elfNN_archive),
+#else
       BFD_JUMP_TABLE_ARCHIVE (_bfd_archive_coff),
+#endif
       BFD_JUMP_TABLE_SYMBOLS (bfd_elfNN),
       BFD_JUMP_TABLE_RELOCS (bfd_elfNN),
       BFD_JUMP_TABLE_WRITE (bfd_elfNN),
This page took 0.02693 seconds and 4 git commands to generate.