]> Git Repo - binutils.git/blobdiff - bfd/targets.c
PPC magic and peicode.h
[binutils.git] / bfd / targets.c
index 62f337d3797ff57d9173b8f226cb0075d1caadd5..d39b2667c10bde5dc4aa4181cd979787b9371052 100644 (file)
@@ -16,7 +16,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.  */
 
 #include "bfd.h"
 #include "sysdep.h"
@@ -197,10 +197,6 @@ The maximum number of characters in an archive header.
 
 .  unsigned short ar_max_namelen;
 
-The minimum alignment restriction for any section.
-
-.  unsigned int align_power_min;
-
 Entries for byte swapping for data. These are different from the other
 entry points, since they don't take a BFD asthe first argument.
 Certain other handlers could do the same.
@@ -267,7 +263,8 @@ The general target vector.
 .CAT(NAME,_bfd_merge_private_bfd_data),\
 .CAT(NAME,_bfd_copy_private_section_data),\
 .CAT(NAME,_bfd_copy_private_symbol_data),\
-.CAT(NAME,_bfd_set_private_flags)
+.CAT(NAME,_bfd_set_private_flags),\
+.CAT(NAME,_bfd_print_private_bfd_data)\
 .  {* Called to copy BFD general private data from one object file
 .     to another.  *}
 .  boolean      (*_bfd_copy_private_bfd_data) PARAMS ((bfd *, bfd *));
@@ -285,6 +282,9 @@ The general target vector.
 .  {* Called to set private backend flags *}
 .  boolean      (*_bfd_set_private_flags) PARAMS ((bfd *, flagword));
 .
+.  {* Called to print private BFD data *}
+.  boolean       (*_bfd_print_private_bfd_data) PARAMS ((bfd *, void  *));
+.
 .  {* Core file entry points.  *}
 .#define BFD_JUMP_TABLE_CORE(NAME)\
 .CAT(NAME,_core_file_failing_command),\
@@ -328,7 +328,9 @@ The general target vector.
 .CAT(NAME,_bfd_is_local_label),\
 .CAT(NAME,_get_lineno),\
 .CAT(NAME,_find_nearest_line),\
-.CAT(NAME,_bfd_make_debug_symbol)
+.CAT(NAME,_bfd_make_debug_symbol),\
+.CAT(NAME,_read_minisymbols),\
+.CAT(NAME,_minisymbol_to_symbol)
 .  long  (*_bfd_get_symtab_upper_bound) PARAMS ((bfd *));
 .  long  (*_bfd_canonicalize_symtab) PARAMS ((bfd *,
 .                                             struct symbol_cache_entry **));
@@ -352,10 +354,18 @@ The general target vector.
 . {* Back-door to allow format-aware applications to create debug symbols
 .    while using BFD for everything else.  Currently used by the assembler
 .    when creating COFF files.  *}
-. asymbol *  (*_bfd_make_debug_symbol) PARAMS ((
+.  asymbol *  (*_bfd_make_debug_symbol) PARAMS ((
 .       bfd *abfd,
 .       void *ptr,
 .       unsigned long size));
+.#define bfd_read_minisymbols(b, d, m, s) \
+.  BFD_SEND (b, _read_minisymbols, (b, d, m, s))
+.  long  (*_read_minisymbols) PARAMS ((bfd *, boolean, PTR *,
+.                                      unsigned int *));
+.#define bfd_minisymbol_to_symbol(b, d, m, f) \
+.  BFD_SEND (b, _minisymbol_to_symbol, (b, d, m, f))
+.  asymbol *(*_minisymbol_to_symbol) PARAMS ((bfd *, boolean, const PTR,
+.                                             asymbol *));
 .
 .  {* Routines for relocs.  *}
 .#define BFD_JUMP_TABLE_RELOCS(NAME)\
@@ -449,8 +459,10 @@ extern const bfd_target aout_mips_big_vec;
 extern const bfd_target aout_mips_little_vec;
 extern const bfd_target aout0_big_vec;
 extern const bfd_target apollocoff_vec;
-extern const bfd_target armpe_vec;
-extern const bfd_target armpei_vec;
+extern const bfd_target armpe_little_vec;
+extern const bfd_target armpe_big_vec;
+extern const bfd_target armpei_little_vec;
+extern const bfd_target armpei_big_vec;
 extern const bfd_target b_out_vec_big_host;
 extern const bfd_target b_out_vec_little_host;
 /* start-sanitize-arc */
@@ -487,6 +499,12 @@ extern const bfd_target i386bsd_vec;
 extern const bfd_target i386dynix_vec;
 extern const bfd_target i386os9k_vec;
 extern const bfd_target i386coff_vec;
+extern const bfd_target bfd_powerpc_vec;
+extern const bfd_target bfd_powerpcle_vec;
+extern const bfd_target bfd_powerpc_pe_vec;
+extern const bfd_target bfd_powerpcle_pe_vec;
+extern const bfd_target bfd_powerpc_pei_vec;
+extern const bfd_target bfd_powerpcle_pei_vec;
 extern const bfd_target i386pe_vec;
 extern const bfd_target i386pei_vec;
 extern const bfd_target go32coff_vec;
@@ -632,6 +650,12 @@ const bfd_target * const bfd_target_vector[] = {
        &i386aout_vec,
        &i386bsd_vec,
        &i386coff_vec,
+       &bfd_powerpc_vec,
+       &bfd_powerpcle_vec,
+       &bfd_powerpc_pe_vec,
+       &bfd_powerpcle_pe_vec,
+       &bfd_powerpc_pei_vec,
+       &bfd_powerpcle_pei_vec,
        &go32coff_vec,
 #if 0
        /* Since a.out files lack decent magic numbers, no way to recognize
@@ -649,8 +673,10 @@ const bfd_target * const bfd_target_vector[] = {
        &i386os9k_vec,
        &i386pe_vec,
        &i386pei_vec,
-       &armpe_vec,
-       &armpei_vec,
+       &armpe_little_vec,
+       &armpe_big_vec,
+       &armpei_little_vec,
+       &armpei_big_vec,
        &icoff_big_vec,
        &icoff_little_vec,
        &ieee_vec,
@@ -795,6 +821,7 @@ bfd_find_target (target_name, abfd)
   }
 
   bfd_set_error (bfd_error_invalid_target);
+  fprintf(stderr,"Target = %s\n", target_name);
   return NULL;
 }
 
@@ -817,7 +844,7 @@ const char **
 bfd_target_list ()
 {
   int vec_length= 0;
-#ifdef NATIVE_HPPAHPUX_COMPILER
+#if defined (HOST_HPPAHPUX) && ! defined (__STDC__)
   /* The native compiler on the HP9000/700 has a bug which causes it
      to loop endlessly when compiling this file.  This avoids it.  */
   volatile
This page took 0.028345 seconds and 4 git commands to generate.