aboutsummaryrefslogtreecommitdiff
path: root/bfd
diff options
context:
space:
mode:
authorK. Richard Pixley <rich@cygnus>1991-04-08 16:02:27 +0000
committerK. Richard Pixley <rich@cygnus>1991-04-08 16:02:27 +0000
commit726cc6ef804d2a17dea43860ee1aca667f70703f (patch)
tree50ef6b3858f26002465eb4877a481714b52031f1 /bfd
parent68a96e5326171a0ebdfc6c4a7a165449d45356a0 (diff)
downloadfsf-binutils-gdb-726cc6ef804d2a17dea43860ee1aca667f70703f.zip
fsf-binutils-gdb-726cc6ef804d2a17dea43860ee1aca667f70703f.tar.gz
fsf-binutils-gdb-726cc6ef804d2a17dea43860ee1aca667f70703f.tar.bz2
Added little endian a.out.
Diffstat (limited to 'bfd')
-rw-r--r--bfd/Makefile.in10
-rwxr-xr-xbfd/aout.c59
-rw-r--r--bfd/targets.c32
3 files changed, 77 insertions, 24 deletions
diff --git a/bfd/Makefile.in b/bfd/Makefile.in
index 5741343..861edd3 100644
--- a/bfd/Makefile.in
+++ b/bfd/Makefile.in
@@ -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)
diff --git a/bfd/aout.c b/bfd/aout.c
index 9b554b6..3391657 100755
--- a/bfd/aout.c
+++ b/bfd/aout.c
@@ -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 */
+ };
+
diff --git a/bfd/targets.c b/bfd/targets.c
index 252cbe7..e7cb64d 100644
--- a/bfd/targets.c
+++ b/bfd/targets.c
@@ -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,
+};