Added little endian a.out.
authorK. Richard Pixley <rich@cygnus>
Mon, 8 Apr 1991 16:02:27 +0000 (16:02 +0000)
committerK. Richard Pixley <rich@cygnus>
Mon, 8 Apr 1991 16:02:27 +0000 (16:02 +0000)
bfd/Makefile.in
bfd/aout.c
bfd/targets.c

index 5741343eb5ca24b13a1d942abf834001e10a46f8..861edd349e85902735358e8de8a920df1466cf44 100644 (file)
@@ -35,19 +35,21 @@ CSEARCH = -I$(INCDIR)
 ###
 
 TARG = libbfd.a
-CFLAGS = -g $(CDEFINES) $(CSEARCH) $(CSWITCHES) -DINTEL960VERSION
+CFLAGS = -g $(CDEFINES) $(CSEARCH) $(CSWITCHES) -DINTEL960VERSION
 
 
-BFD_LIBS = libbfd.o opncls.o bfd.o archive.o targets.o cache.o archures.o
+BFD_LIBS = libbfd.o opncls.o bfd.o archive.o targets.o cache.o \
+       archures.o obstack.o
 
-BFD_BACKENDS = sunos.o icoff.o b.out.o # srec.o # bcs88kcoff.o
+BFD_BACKENDS = oasys.o ieee.o srec.o  sunos.o icoff.o b.out.o \
+       m88k-bcs.o
 
 BFD_H=$(INCDIR)/bfd.h
 SYSDEP_H=$(INCDIR)/sysdep.h
 
 # C source files that correspond to .o's.
 CFILES = libbfd.c opncls.c bfd.c archive.c targets.c cache.c archures.c \
-        sunos.c icoff.c b.out.c # srec.c # bcs88kcoff.c
+        sunos.c icoff.c b.out.c  srec.c oasys.c ieee.c m88k-bcs.c
 
 all: $(TARG) 
 
index 9b554b65ff05112d519d905bc5a4ac41be80e1ba..3391657ba7d8ded0e176ad86a8a66d69ec2fcea9 100755 (executable)
@@ -1169,7 +1169,6 @@ sunos4_slurp_symbol_table (abfd)
     register struct nlist *sym_end = syms + symbol_count;
     register aout_symbol_type *cache_ptr = cached;
 
-    if (bfd_header_twiddle_required (abfd) == true) {
       /* run through the table and byte swap if needed */
       for (sym_pointer = syms; sym_pointer < sym_end;  sym_pointer++) {
         sym_pointer->n_un.n_strx =
@@ -1184,7 +1183,7 @@ sunos4_slurp_symbol_table (abfd)
          bfd_h_get_x(abfd, &sym_pointer->n_type);
 
       }
-    }
+
     /* Run through table and copy values */
     for (sym_pointer = syms, cache_ptr = cached;
         sym_pointer < sym_end; sym_pointer++, cache_ptr++) 
@@ -2117,3 +2116,59 @@ bfd_target aoutvec =
   bfd_generic_stat_arch_elt /* bfd_stat_arch_elt */
   };
 
+bfd_target aout_little_vec =
+{
+  "a.out-generic-little",              /* name */
+  bfd_target_aout_flavour_enum,
+  true,                                /* target byte order */
+  true,                                /* target headers byte order */
+  (HAS_RELOC | EXEC_P |                /* object flags */
+   HAS_LINENO | HAS_DEBUG |
+   HAS_SYMS | HAS_LOCALS | DYNAMIC | WP_TEXT | D_PAGED),
+  (SEC_HAS_CONTENTS | SEC_ALLOC | SEC_LOAD | SEC_RELOC), /* section flags */
+  0,                           /* valid reloc types */
+  ' ',                         /* ar_pad_char */
+  16,                          /* ar_max_namelen */
+  sunos4_close_and_cleanup,    /* _close_and_cleanup */
+  sunos4_set_section_contents, /* bfd_set_section_contents */
+  sunos4_get_section_contents, /* bfd_get_section_contents */
+  sunos4_new_section_hook,     /* new_section_hook */
+  sunos4_core_file_failing_command, /* _core_file_failing_command */
+  sunos4_core_file_failing_signal, /* _core_file_failing_signal */
+  sunos4_core_file_matches_executable_p, /* _core_file_matches_ex...p */
+
+  bfd_slurp_bsd_armap,         /* bfd_slurp_armap */
+  bfd_true,                    /* bfd_slurp_extended_name_table */
+  bfd_bsd_truncate_arname,     /* bfd_truncate_arname */
+
+  sunos4_get_symtab_upper_bound, /* get_symtab_upper_bound */
+  sunos4_get_symtab,           /* canonicalize_symtab */
+  sunos4_reclaim_symbol_table, /* bfd_reclaim_symbol_table */
+  sunos4_get_reloc_upper_bound,        /* get_reloc_upper_bound */
+  sunos4_canonicalize_reloc,   /* bfd_canonicalize_reloc */
+  sunos4_reclaim_reloc,                /* bfd_reclaim_reloc */
+  sunos4_get_symcount_upper_bound, /* bfd_get_symcount_upper_bound */
+  sunos4_get_first_symbol,     /* bfd_get_first_symbol */
+  sunos4_get_next_symbol,      /* bfd_get_next_symbol */
+  sunos4_classify_symbol,      /* bfd_classify_symbol */
+  sunos4_symbol_hasclass,      /* bfd_symbol_hasclass */
+  sunos4_symbol_name,          /* bfd_symbol_name */
+  sunos4_symbol_value,         /* bfd_symbol_value */
+
+  _do_getllong, _do_putllong, _do_getlshort, _do_putlshort, /* data */
+  _do_getllong, _do_putllong, _do_getlshort, _do_putlshort, /* hdrs */
+
+  {_bfd_dummy_target, sunos4_object_p, /* bfd_check_format */
+     bfd_generic_archive_p, sunos4_core_file_p},
+  {bfd_false, sunos4_mkobject, /* bfd_zxset_format */
+     _bfd_generic_mkarchive, bfd_false},
+  sunos4_make_empty_symbol,
+  sunos4_print_symbol,
+  sunos4_get_lineno,
+  sunos4_set_arch_mach,
+  bsd_write_armap,
+  bfd_generic_openr_next_archived_file,
+  sunos4_find_nearest_line,    /* bfd_find_nearest_line */
+  bfd_generic_stat_arch_elt /* bfd_stat_arch_elt */
+  };
+
index 252cbe7ca4adbfb519853abfa48d00f45e0ecfd2..e7cb64d3313dc9667686650178eb419e2666ae19 100644 (file)
@@ -27,6 +27,7 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.  */
 #include "libbfd.h"
 
 extern bfd_target aoutvec;
+extern bfd_target aout_little_vec;
 extern bfd_target srec_vec;
 extern bfd_target b_out_vec_little_host;
 extern bfd_target b_out_vec_big_host;
@@ -36,21 +37,16 @@ extern bfd_target ieee_vec;
 extern bfd_target oasys_vec;
 extern bfd_target m88k_bcs_vec;
 
-
-bfd_target *target_vector[] = 
-  {
-#ifndef INTEL960VERSION
-
-
-#endif /* INTEL960VERSION */
-    &ieee_vec,
-    &oasys_vec,
-    &icoff_big_vec,
-    &aoutvec,
-    &icoff_little_vec,
-    &m88k_bcs_vec,
-    &b_out_vec_big_host,
-    &b_out_vec_little_host,
-    &srec_vec,
-    NULL
-    };
+bfd_target *target_vector[] = {
+       &aout_little_vec,
+       &ieee_vec,
+       &oasys_vec,
+       &icoff_big_vec,
+       &aoutvec,
+       &icoff_little_vec,
+       &m88k_bcs_vec,
+       &b_out_vec_big_host,
+       &b_out_vec_little_host,
+       &srec_vec,
+       NULL,
+};