Added 386 support!
[binutils-gdb.git] / bfd / targets.c
1 /* Copyright (C) 1990, 1991 Free Software Foundation, Inc.
2
3 This file is part of BFD, the Binary File Diddler.
4
5 BFD is free software; you can redistribute it and/or modify
6 it under the terms of the GNU General Public License as published by
7 the Free Software Foundation; either version 1, or (at your option)
8 any later version.
9
10 BFD is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 GNU General Public License for more details.
14
15 You should have received a copy of the GNU General Public License
16 along with BFD; see the file COPYING. If not, write to
17 the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
18
19 /* $Id$ */
20
21
22 /* This -*- C -*- source file will someday be machine-generated */
23
24 /*** Defines the target vector through which operations dispatch */
25 #include <sysdep.h>
26 #include "bfd.h"
27 #include "libbfd.h"
28
29 extern bfd_target ecoff_little_vec;
30 extern bfd_target ecoff_big_vec;
31 extern bfd_target sunos_big_vec;
32 extern bfd_target demo_64_vec;
33 extern bfd_target srec_vec;
34 extern bfd_target b_out_vec_little_host;
35 extern bfd_target b_out_vec_big_host;
36 extern bfd_target icoff_little_vec;
37 extern bfd_target icoff_big_vec;
38 extern bfd_target ieee_vec;
39 extern bfd_target oasys_vec;
40 extern bfd_target m88k_bcs_vec;
41 extern bfd_target m68kcoff_vec;
42 extern bfd_target i386coff_vec;
43
44 #ifdef GNU960
45 #define ICOFF_LITTLE_VEC icoff_little_vec
46 #define ICOFF_BIG_VEC icoff_big_vec
47 #define B_OUT_VEC_LITTLE_HOST b_out_vec_little_host
48 #define B_OUT_VEC_BIG_HOST b_out_vec_big_host
49 #endif /* GNU960 */
50
51 #ifndef RESTRICTED
52 #define ECOFF_LITTLE_VEC ecoff_little_vec
53 #define ECOFF_BIG_VEC ecoff_big_vec
54 #define ICOFF_LITTLE_VEC icoff_little_vec
55 #define ICOFF_BIG_VEC icoff_big_vec
56 #define XB_OUT_VEC_LITTLE_HOST b_out_vec_little_host
57 #define XB_OUT_VEC_BIG_HOST b_out_vec_big_host
58 #define SUNOS_VEC_BIG_HOST sunos_big_vec
59 #define DEMO_64_VEC demo_64_vec
60 #define OASYS_VEC oasys_vec
61 #define IEEE_VEC ieee_vec
62 #define M88K_BCS_VEC m88k_bcs_vec
63 #define SREC_VEC srec_vec
64 #define M68KCOFF_VEC m68kcoff_vec
65 #define I386COFF_VEC i386coff_vec
66 #endif
67 bfd_target *target_vector[] = {
68
69 #ifdef DEFAULT_VECTOR
70 &DEFAULT_VECTOR,
71 #endif /* DEFAULT_VECTOR */
72
73 #ifdef I386COFF_VEC
74 &I386COFF_VEC,
75 #endif /* I386COFF_VEC */
76
77 #ifdef ECOFF_LITTLE_VEC
78 &ECOFF_LITTLE_VEC,
79 #endif
80
81 #ifdef ECOFF_BIG_VEC
82 &ECOFF_BIG_VEC,
83 #endif
84 #ifdef IEEE_VEC
85 &IEEE_VEC,
86 #endif /* IEEE_VEC */
87
88 #ifdef OASYS_VEC
89 &OASYS_VEC,
90 #endif /* OASYS_VEC */
91
92 #ifdef SUNOS_VEC_BIG_HOST
93 &SUNOS_VEC_BIG_HOST,
94 #endif /* SUNOS_BIG_VEC */
95
96
97 #ifdef HOST_64_BIT
98 #ifdef DEMO_64_VEC
99 &DEMO_64_VEC,
100 #endif
101 #endif
102
103 #ifdef M88K_BCS_VEC
104 &M88K_BCS_VEC,
105 #endif /* M88K_BCS_VEC */
106
107 #ifdef SREC_VEC
108 &SREC_VEC,
109 #endif /* SREC_VEC */
110
111 #ifdef ICOFF_LITTLE_VEC
112 &ICOFF_LITTLE_VEC,
113 #endif /* ICOFF_LITTLE_VEC */
114
115 #ifdef ICOFF_BIG_VEC
116 &ICOFF_BIG_VEC,
117 #endif /* ICOFF_BIG_VEC */
118
119 #ifdef B_OUT_VEC_LITTLE_HOST
120 &B_OUT_VEC_LITTLE_HOST,
121 #endif /* B_OUT_VEC_LITTLE_HOST */
122
123 #ifdef B_OUT_VEC_BIG_HOST
124 &B_OUT_VEC_BIG_HOST,
125 #endif /* B_OUT_VEC_BIG_HOST */
126
127 #ifdef M68KCOFF_VEC
128 &M68KCOFF_VEC,
129 #endif /* M68KCOFF_VEC */
130
131
132 NULL, /* end of list marker */
133 };