aboutsummaryrefslogtreecommitdiff
path: root/bfd
diff options
context:
space:
mode:
authorJohn Gilmore <gnu@cygnus>1991-10-11 10:11:37 +0000
committerJohn Gilmore <gnu@cygnus>1991-10-11 10:11:37 +0000
commitbbc8d4849feb14c71603164f5acde4aa58e7b44e (patch)
tree7a3e41c4bf203d68e0b093782a8e125a32124394 /bfd
parent600d4864081c1969a5575f91564d8cb21c8e6807 (diff)
downloadgdb-bbc8d4849feb14c71603164f5acde4aa58e7b44e.zip
gdb-bbc8d4849feb14c71603164f5acde4aa58e7b44e.tar.gz
gdb-bbc8d4849feb14c71603164f5acde4aa58e7b44e.tar.bz2
Include bfd.h before sysdep.h, so ansidecl and PROTO() get defined first.
Diffstat (limited to 'bfd')
-rw-r--r--bfd/aoutf1.h29
-rw-r--r--bfd/bfd.c30
-rw-r--r--bfd/bout.c191
-rw-r--r--bfd/coff-a29k.c3
-rw-r--r--bfd/core.c2
-rw-r--r--bfd/cpu-a29k.c4
-rw-r--r--bfd/host-aout.c36
-rw-r--r--bfd/newsos3.c3
-rw-r--r--bfd/targets.c8
9 files changed, 155 insertions, 151 deletions
diff --git a/bfd/aoutf1.h b/bfd/aoutf1.h
index cc5fc74..622611c 100644
--- a/bfd/aoutf1.h
+++ b/bfd/aoutf1.h
@@ -18,13 +18,13 @@ 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. */
-#include <ansidecl.h>
-#include <sysdep.h>
-#include <a.out.sun4.h>
#include "bfd.h"
-#include "libaout.h"
+#include "sysdep.h"
#include "libbfd.h"
+#include <a.out.sun4.h>
+#include "libaout.h"
+
#include "aout64.h"
#include "stab.gnu.h"
#include "ar.h"
@@ -62,19 +62,22 @@ bfd_target *
DEFUN(NAME(sunos,object_p), (abfd),
bfd *abfd)
{
- unsigned char magicbuf[4]; /* Raw bytes of magic number from file */
- unsigned long magic; /* Swapped magic number */
+ struct external_exec exec_bytes; /* Raw exec header from file */
+ struct internal_exec exec; /* Cleaned-up exec header */
- bfd_error = system_call_error;
-
- if (bfd_read ((PTR)magicbuf, 1 , 4, abfd) !=
- sizeof (magicbuf))
+ if (bfd_read ((PTR) &exec_bytes, 1, EXEC_BYTES_SIZE, abfd)
+ != EXEC_BYTES_SIZE) {
+ bfd_error = wrong_format;
return 0;
- magic = bfd_h_get_32 (abfd, magicbuf);
+ }
+
+ exec.a_info = bfd_h_get_32 (abfd, exec_bytes.e_info);
+
+ if (N_BADMAG (exec)) return 0;
- if (N_BADMAG (*((struct internal_exec *) &magic))) return 0;
+ NAME(aout,swap_exec_header_in)(abfd, &exec_bytes, &exec);
- return NAME(aout,some_aout_object_p) (abfd, sunos4_callback);
+ return NAME(aout,some_aout_object_p) (abfd, &exec, sunos4_callback);
}
/* Determine the size of a relocation entry, based on the architecture */
diff --git a/bfd/bfd.c b/bfd/bfd.c
index 331312e..1d465b1 100644
--- a/bfd/bfd.c
+++ b/bfd/bfd.c
@@ -130,13 +130,9 @@ Symbol table for output BFD
$ struct symbol_cache_entry **outsymbols;
-Architecture of object machine, eg m68k
+Pointer to structure which contains architecture information
-$ enum bfd_architecture obj_arch;
-
-Particular machine within arch, e.g. 68010
-
-$ unsigned long obj_machine;
+$ struct bfd_arch_info *arch_info;
Stuff only useful for archives:
@@ -162,10 +158,12 @@ $};
*---
*/
-#include <sysdep.h>
#include "bfd.h"
+#include "sysdep.h"
#include "libbfd.h"
+extern char *strerror();
+
short _bfd_host_big_endian = 0x0100;
/* Accessing the above as (*(char*)&_bfd_host_big_endian), will
@@ -219,20 +217,6 @@ bfd_error_vector_type bfd_error_vector =
bfd_nonrepresentable_section
};
-#if !defined(ANSI_LIBRARIES) && !defined(__STDC__) || HOST_SYS==SUN4_SYS
-char *
-strerror (code)
- int code;
-{
- extern int sys_nerr;
- extern char *sys_errlist[];
-
- return (((code < 0) || (code >= sys_nerr)) ? "(unknown error)" :
- sys_errlist [code]);
-}
-#endif /* not ANSI_LIBRARIES */
-
-
char *
bfd_errmsg (error_tag)
bfd_ec error_tag;
@@ -430,6 +414,10 @@ bfd_get_mtime (abfd)
#define bfd_coff_swap_lineno_in(a,e,i) \
BFD_SEND ( a, _bfd_coff_swap_lineno_in, (a,e,i))
+
+#define bfd_set_arch_mach(abfd, arch, mach)\
+ BFD_SEND ( abfd, _bfd_set_arch_mach, (abfd, arch, mach))
+
*-
*/
diff --git a/bfd/bout.c b/bfd/bout.c
index 7a353a5..baa2ab2 100644
--- a/bfd/bout.c
+++ b/bfd/bout.c
@@ -20,8 +20,8 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */
/* $Id$ */
-#include <sysdep.h>
#include "bfd.h"
+#include "sysdep.h"
#include "libbfd.h"
#include "bout.h"
@@ -35,57 +35,102 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */
( ((addr) + ((1<<(align))-1)) & (-1 << (align)))
-#define EXEC_BYTES_SIZE (sizeof (struct exec))
PROTO (static boolean, b_out_squirt_out_relocs,(bfd *abfd, asection *section));
PROTO (static bfd_target *, b_out_callback, (bfd *));
PROTO (boolean, aout_32_slurp_symbol_table, (bfd *abfd));
PROTO (void , aout_32_write_syms, ());
-PROTO (static void, swap_exec_header, (bfd *abfd, struct internal_exec *execp));
+/* Swaps the information in an executable header taken from a raw byte
+ stream memory image, into the internal exec_header structure. */
-
-static bfd_target *
-b_out_little_object_p (abfd)
- bfd *abfd;
+PROTO(void, bout_swap_exec_header_in,
+ (bfd *abfd,
+ struct external_exec *raw_bytes,
+ struct internal_exec *execp));
+
+void
+DEFUN(bout_swap_exec_header_in,(abfd, raw_bytes, execp),
+ bfd *abfd AND
+ struct external_exec *raw_bytes AND
+ struct internal_exec *execp)
{
- unsigned char magicbytes[LONG_SIZE];
- struct internal_exec anexec;
-
- if (bfd_read ((PTR)magicbytes, 1, LONG_SIZE, abfd) != LONG_SIZE) {
- bfd_error = system_call_error;
- return 0;
- }
- anexec.a_magic = _do_getl32 (magicbytes);
+ struct external_exec *bytes = (struct external_exec *)raw_bytes;
+
+ /* Now fill in fields in the execp, from the bytes in the raw data. */
+ execp->a_info = bfd_h_get_32 (abfd, bytes->e_info);
+ execp->a_text = GET_WORD (abfd, bytes->e_text);
+ execp->a_data = GET_WORD (abfd, bytes->e_data);
+ execp->a_bss = GET_WORD (abfd, bytes->e_bss);
+ execp->a_syms = GET_WORD (abfd, bytes->e_syms);
+ execp->a_entry = GET_WORD (abfd, bytes->e_entry);
+ execp->a_trsize = GET_WORD (abfd, bytes->e_trsize);
+ execp->a_drsize = GET_WORD (abfd, bytes->e_drsize);
+ execp->a_tload = GET_WORD (abfd, bytes->e_tload);
+ execp->a_dload = GET_WORD (abfd, bytes->e_dload);
+ execp->a_talign = bytes->e_talign[0];
+ execp->a_dalign = bytes->e_dalign[0];
+ execp->a_balign = bytes->e_balign[0];
+}
- if (N_BADMAG (anexec)) {
- bfd_error = wrong_format;
- return 0;
- }
- return aout_32_some_aout_object_p (abfd, b_out_callback);
+/* Swaps the information in an internal exec header structure into the
+ supplied buffer ready for writing to disk. */
+
+PROTO(void, bout_swap_exec_header_out,
+ (bfd *abfd,
+ struct internal_exec *execp,
+ struct external_exec *raw_bytes));
+void
+DEFUN(bout_swap_exec_header_out,(abfd, execp, raw_bytes),
+ bfd *abfd AND
+ struct internal_exec *execp AND
+ struct external_exec *raw_bytes)
+{
+ struct external_exec *bytes = (struct external_exec *)raw_bytes;
+
+ /* Now fill in fields in the raw data, from the fields in the exec struct. */
+ bfd_h_put_32 (abfd, execp->a_info , bytes->e_info);
+ PUT_WORD (abfd, execp->a_text , bytes->e_text);
+ PUT_WORD (abfd, execp->a_data , bytes->e_data);
+ PUT_WORD (abfd, execp->a_bss , bytes->e_bss);
+ PUT_WORD (abfd, execp->a_syms , bytes->e_syms);
+ PUT_WORD (abfd, execp->a_entry , bytes->e_entry);
+ PUT_WORD (abfd, execp->a_trsize, bytes->e_trsize);
+ PUT_WORD (abfd, execp->a_drsize, bytes->e_drsize);
+ PUT_WORD (abfd, execp->a_tload , bytes->e_tload);
+ PUT_WORD (abfd, execp->a_dload , bytes->e_dload);
+ bytes->e_talign[0] = execp->a_talign;
+ bytes->e_dalign[0] = execp->a_dalign;
+ bytes->e_balign[0] = execp->a_balign;
+ bytes->e_unused[0] = 0; /* Clean structs are godly structs */
}
+
static bfd_target *
-b_out_big_object_p (abfd)
+b_out_object_p (abfd)
bfd *abfd;
{
- unsigned char magicbytes[LONG_SIZE];
struct internal_exec anexec;
+ struct external_exec exec_bytes;
- if (bfd_read ((PTR)magicbytes, 1, LONG_SIZE, abfd) != LONG_SIZE) {
- bfd_error = system_call_error;
+ if (bfd_read ((PTR) &exec_bytes, 1, EXEC_BYTES_SIZE, abfd)
+ != EXEC_BYTES_SIZE) {
+ bfd_error = wrong_format;
return 0;
}
- anexec.a_magic = _do_getb32 (magicbytes);
+ anexec.a_info = bfd_h_get_32 (abfd, exec_bytes.e_info);
if (N_BADMAG (anexec)) {
bfd_error = wrong_format;
return 0;
}
- return aout_32_some_aout_object_p (abfd, b_out_callback);
+
+ bout_swap_exec_header_in (abfd, &exec_bytes, &anexec);
+ return aout_32_some_aout_object_p (abfd, &anexec, b_out_callback);
}
+
/* Finish up the opening of a b.out file for reading. Fill in all the
fields that are not handled by common code. */
@@ -93,27 +138,9 @@ static bfd_target *
b_out_callback (abfd)
bfd *abfd;
{
- struct internal_exec anexec;
- struct internal_exec *execp = &anexec;
+ struct internal_exec *execp = exec_hdr (abfd);
unsigned long bss_start;
- /* Reread the exec header, because the common code didn't get all of
- our extended header. */
-
- if (bfd_seek (abfd, 0L, SEEK_SET) < 0) {
- bfd_error = system_call_error;
- return 0;
- }
-
- /* FIXME, needs to be hacked for character array read-in ala sunos.c. */
- if (bfd_read ((PTR) execp, 1, sizeof (struct internal_exec), abfd)
- != sizeof (struct internal_exec)) {
- bfd_error = wrong_format;
- return 0;
- }
-
- swap_exec_header (abfd, execp);
-
/* Architecture and machine type */
bfd_set_arch_mach(abfd,
bfd_arch_i960, /* B.out only used on i960 */
@@ -121,8 +148,8 @@ b_out_callback (abfd)
);
/* The positions of the string table and symbol table. */
- obj_str_filepos (abfd) = N_STROFF (anexec);
- obj_sym_filepos (abfd) = N_SYMOFF (anexec);
+ obj_str_filepos (abfd) = N_STROFF (*execp);
+ obj_sym_filepos (abfd) = N_SYMOFF (*execp);
/* The alignments of the sections */
obj_textsec (abfd)->alignment_power = execp->a_talign;
@@ -130,41 +157,41 @@ b_out_callback (abfd)
obj_bsssec (abfd)->alignment_power = execp->a_balign;
/* The starting addresses of the sections. */
- obj_textsec (abfd)->vma = anexec.a_tload;
- obj_datasec (abfd)->vma = anexec.a_dload;
- bss_start = anexec.a_dload + anexec.a_data; /* BSS = end of data section */
- obj_bsssec (abfd)->vma = i960_align (bss_start, anexec.a_balign);
+ obj_textsec (abfd)->vma = execp->a_tload;
+ obj_datasec (abfd)->vma = execp->a_dload;
+ bss_start = execp->a_dload + execp->a_data; /* BSS = end of data section */
+ obj_bsssec (abfd)->vma = i960_align (bss_start, execp->a_balign);
/* The file positions of the sections */
- obj_textsec (abfd)->filepos = N_TXTOFF(anexec);
- obj_datasec (abfd)->filepos = N_DATOFF(anexec);
+ obj_textsec (abfd)->filepos = N_TXTOFF(*execp);
+ obj_datasec (abfd)->filepos = N_DATOFF(*execp);
/* The file positions of the relocation info */
- obj_textsec (abfd)->rel_filepos = N_TROFF(anexec);
- obj_datasec (abfd)->rel_filepos = N_DROFF(anexec);
+ obj_textsec (abfd)->rel_filepos = N_TROFF(*execp);
+ obj_datasec (abfd)->rel_filepos = N_DROFF(*execp);
return abfd->xvec;
}
+struct container {
+ struct aoutdata a;
+ struct internal_exec e;
+};
static boolean
b_out_mkobject (abfd)
bfd *abfd;
{
- PTR rawptr;
-
- bfd_error = system_call_error;
+ struct container *rawptr;
- /* Use an intermediate variable for clarity */
- rawptr = (PTR) zalloc (sizeof (struct aoutdata) + sizeof (struct internal_exec));
-
- if (rawptr == (PTR)NULL) {
+ rawptr = (struct container *) bfd_zalloc (abfd, sizeof (struct container));
+ if (rawptr == NULL) {
bfd_error = no_memory;
return false;
}
- set_tdata(abfd, (struct aoutdata *) rawptr);
- exec_hdr (abfd) = (struct internal_exec *) ( (char*)rawptr + sizeof (struct aoutdata));
+ set_tdata (abfd, &rawptr->a);
+ exec_hdr (abfd) = &rawptr->e;
/* For simplicity's sake we just make all the sections right here. */
obj_textsec (abfd) = (asection *)NULL;
@@ -182,9 +209,9 @@ static boolean
b_out_write_object_contents (abfd)
bfd *abfd;
{
- struct internal_exec swapped_hdr;
+ struct external_exec swapped_hdr;
- exec_hdr (abfd)->a_magic = BMAGIC;
+ exec_hdr (abfd)->a_info = BMAGIC;
exec_hdr (abfd)->a_text = obj_textsec (abfd)->size;
exec_hdr (abfd)->a_data = obj_datasec (abfd)->size;
@@ -203,13 +230,10 @@ b_out_write_object_contents (abfd)
exec_hdr (abfd)->a_tload = obj_textsec (abfd)->vma;
exec_hdr (abfd)->a_dload = obj_datasec (abfd)->vma;
- /* FIXME, turn the header into bytes here, to avoid problems with
- sizes and alignments of its fields. */
- swapped_hdr = *exec_hdr(abfd);
- swap_exec_header (abfd, &swapped_hdr);
+ bout_swap_exec_header_out (abfd, exec_hdr (abfd), &swapped_hdr);
bfd_seek (abfd, 0L, SEEK_SET);
- bfd_write ((PTR) &swapped_hdr, 1, sizeof (struct internal_exec), abfd);
+ bfd_write ((PTR) &swapped_hdr, 1, EXEC_BYTES_SIZE, abfd);
/* Now write out reloc info, followed by syms and strings */
if (bfd_get_symcount (abfd) != 0)
@@ -228,26 +252,6 @@ b_out_write_object_contents (abfd)
}
return true;
}
-
-static void
-swap_exec_header (abfd, execp)
- bfd *abfd;
- struct internal_exec *execp;
-{
-#define swapme(field) field = bfd_h_get_32 (abfd, (unsigned char *)&field);
- swapme (execp->a_magic);
- swapme (execp->a_text);
- swapme (execp->a_data);
- swapme (execp->a_bss);
- swapme (execp->a_syms);
- swapme (execp->a_entry);
- swapme (execp->a_trsize);
- swapme (execp->a_drsize);
- swapme (execp->a_tload);
- swapme (execp->a_dload);
- /* talign, dalign, and balign are one-byte fields and don't swap. */
-#undef swapme
-}
/** Some reloc hackery */
@@ -716,7 +720,7 @@ bfd_target b_out_vec_big_host =
_do_getl64, _do_putl64, _do_getl32, _do_putl32, _do_getl16, _do_putl16, /* data */
_do_getb64, _do_putb64, _do_getb32, _do_putb32, _do_getb16, _do_putb16, /* hdrs */
- {_bfd_dummy_target, b_out_big_object_p, /* bfd_check_format */
+ {_bfd_dummy_target, b_out_object_p, /* bfd_check_format */
bfd_generic_archive_p, _bfd_dummy_target},
{bfd_false, b_out_mkobject, /* bfd_set_format */
_bfd_generic_mkarchive, bfd_false},
@@ -743,7 +747,7 @@ bfd_target b_out_vec_little_host =
_do_getl64, _do_putl64, _do_getl32, _do_putl32, _do_getl16, _do_putl16, /* data */
_do_getl64, _do_putl64, _do_getl32, _do_putl32, _do_getl16, _do_putl16, /* hdrs */
- {_bfd_dummy_target, b_out_little_object_p, /* bfd_check_format */
+ {_bfd_dummy_target, b_out_object_p, /* bfd_check_format */
bfd_generic_archive_p, _bfd_dummy_target},
{bfd_false, b_out_mkobject, /* bfd_set_format */
_bfd_generic_mkarchive, bfd_false},
@@ -751,4 +755,3 @@ _do_getl64, _do_putl64, _do_getl32, _do_putl32, _do_getl16, _do_putl16, /* hdrs
_bfd_write_archive_contents, bfd_false},
JUMP_TABLE(aout_32)
};
-
diff --git a/bfd/coff-a29k.c b/bfd/coff-a29k.c
index eb999a4..b7506c5 100644
--- a/bfd/coff-a29k.c
+++ b/bfd/coff-a29k.c
@@ -22,9 +22,8 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */
#define A29K 1
-#include <ansidecl.h>
-#include <sysdep.h>
#include "bfd.h"
+#include "sysdep.h"
#include "libbfd.h"
#include "obstack.h"
#include "amdcoff.h"
diff --git a/bfd/core.c b/bfd/core.c
index b22dfa8..49fa7dc 100644
--- a/bfd/core.c
+++ b/bfd/core.c
@@ -23,8 +23,8 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */
Buff output this facinating topic
*/
-#include "sysdep.h"
#include "bfd.h"
+#include "sysdep.h"
#include "libbfd.h"
/** Some core file info commands */
diff --git a/bfd/cpu-a29k.c b/bfd/cpu-a29k.c
index d9a72f2..303491a 100644
--- a/bfd/cpu-a29k.c
+++ b/bfd/cpu-a29k.c
@@ -1,5 +1,5 @@
-#include <sysdep.h>
-#include <bfd.h>
+#include "bfd.h"
+#include "sysdep.h"
#include "libbfd.h"
static bfd_arch_info_type arch_info_struct =
diff --git a/bfd/host-aout.c b/bfd/host-aout.c
index c2e63a2..cf556d0 100644
--- a/bfd/host-aout.c
+++ b/bfd/host-aout.c
@@ -18,9 +18,8 @@ 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. */
-#include <ansidecl.h>
-#include <sysdep.h>
#include "bfd.h"
+#include "sysdep.h"
#include "libbfd.h"
#include <a.out.h>
@@ -129,18 +128,21 @@ DEFUN(NAME(host_aout,object_p), (abfd),
bfd *abfd)
{
unsigned char magicbuf[4]; /* Raw bytes of magic number from file */
- unsigned long magic; /* Swapped magic number */
+ struct external_exec exec_bytes;
+ struct internal_exec exec;
- bfd_error = system_call_error;
-
- if (bfd_read ((PTR)magicbuf, 1, sizeof (magicbuf), abfd) !=
- sizeof (magicbuf))
+ if (bfd_read ((PTR) &exec_bytes, 1, EXEC_BYTES_SIZE, abfd)
+ != EXEC_BYTES_SIZE) {
+ bfd_error = wrong_format;
return 0;
- magic = bfd_h_get_32 (abfd, magicbuf);
+ }
- if (N_BADMAG (*((struct exec *) &magic))) return 0;
+ exec.a_magic = bfd_h_get_32 (abfd, exec_bytes.a_magic);
- return NAME(aout,some_aout_object_p) (abfd, NAME(host_aout,callback));
+ if (N_BADMAG (exec)) return 0;
+
+ NAME(aout,swap_exec_header_in)(abfd, &exec_bytes, &exec);
+ return NAME(aout,some_aout_object_p) (abfd, &exec, NAME(host_aout,callback));
}
/* Set parameters about this a.out file that are machine-dependent.
@@ -177,11 +179,15 @@ DEFUN(NAME(host_aout,callback), (abfd),
obj_sym_filepos (abfd) = N_SYMOFF (*execp);
#ifdef HOST_MACHINE_ARCH
- abfd->obj_arch = HOST_MACHINE_ARCH;
-#endif
+ bfd_default_set_arch_mach(abfd,
+ HOST_MACHINE_ARCH,
#ifdef HOST_MACHINE_MACHINE
- abfd->obj_machine = HOST_MACHINE_MACHINE;
-#endif
+ HOST_MACHINE_MACHINE
+#else /* not HOST_MACHINE_MACHINE */
+ 0
+#endif /* not HOST_MACHINE_MACHINE */
+ );
+#endif /* HOST_MACHINE_ARCH */
obj_reloc_entry_size (abfd) = sizeof (struct relocation_info);
return abfd->xvec;
@@ -236,7 +242,7 @@ DEFUN(NAME(host_aout,write_object_contents), (abfd),
{
/* This works because we are on the host system */
#define EXEC_BYTES_SIZE (sizeof (struct exec))
-#define EXTERNAL_LIST_SIZE (sizeof (struct nlist))
+#define EXTERNAL_NLIST_SIZE (sizeof (struct nlist))
size_t data_pad = 0;
unsigned char exec_bytes[EXEC_BYTES_SIZE];
struct exec *execp = (struct exec *)exec_hdr (abfd);
diff --git a/bfd/newsos3.c b/bfd/newsos3.c
index 1a35109..8a1cfc8 100644
--- a/bfd/newsos3.c
+++ b/bfd/newsos3.c
@@ -23,9 +23,8 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */
#define ARCH 32
#define BYTES_IN_WORD 4
-#include <ansidecl.h>
-#include <sysdep.h>
#include "bfd.h"
+#include "sysdep.h"
#include "libbfd.h"
#include "aout64.h"
diff --git a/bfd/targets.c b/bfd/targets.c
index dd07784..192dda3 100644
--- a/bfd/targets.c
+++ b/bfd/targets.c
@@ -20,8 +20,8 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */
/* $Id$ */
-#include <sysdep.h>
#include "bfd.h"
+#include "sysdep.h"
#include "libbfd.h"
/*doc*
@@ -298,6 +298,7 @@ extern bfd_target oasys_vec;
extern bfd_target m88k_bcs_vec;
extern bfd_target m68kcoff_vec;
extern bfd_target i386coff_vec;
+extern bfd_target i386aout_vec;
extern bfd_target a29kcoff_big_vec;
#ifdef SELECT_VECS
@@ -343,6 +344,7 @@ extern bfd_target DEFAULT_VECTOR;
#define SREC_VEC srec_vec
#define M68KCOFF_VEC m68kcoff_vec
#define I386COFF_VEC i386coff_vec
+#define I386AOUT_VEC i386aout_vec
#define A29KCOFF_BIG_VEC a29kcoff_big_vec
#endif
@@ -356,6 +358,10 @@ bfd_target *target_vector[] = {
&I386COFF_VEC,
#endif
+#ifdef I386AOUT_VEC
+ &I386AOUT_VEC,
+#endif
+
#ifdef ECOFF_LITTLE_VEC
&ECOFF_LITTLE_VEC,
#endif