* elfcpp.h (NT_VERSION, NT_ARCH): Define as enum constants.
[binutils.git] / bfd / cpu-sparc.c
bloba4144f862b981bf8e251e560e46e57cc3a7e6e1a
1 /* BFD support for the SPARC architecture.
2 Copyright 1992, 1995, 1996, 1998, 2000, 2002, 2007
3 Free Software Foundation, Inc.
5 This file is part of BFD, the Binary File Descriptor library.
7 This program is free software; you can redistribute it and/or modify
8 it under the terms of the GNU General Public License as published by
9 the Free Software Foundation; either version 3 of the License, or
10 (at your option) any later version.
12 This program is distributed in the hope that it will be useful,
13 but WITHOUT ANY WARRANTY; without even the implied warranty of
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 GNU General Public License for more details.
17 You should have received a copy of the GNU General Public License
18 along with this program; if not, write to the Free Software
19 Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
20 MA 02110-1301, USA. */
22 #include "sysdep.h"
23 #include "bfd.h"
24 #include "libbfd.h"
26 static const bfd_arch_info_type arch_info_struct[] =
29 32, /* bits in a word */
30 32, /* bits in an address */
31 8, /* bits in a byte */
32 bfd_arch_sparc,
33 bfd_mach_sparc_sparclet,
34 "sparc",
35 "sparc:sparclet",
37 FALSE,
38 bfd_default_compatible,
39 bfd_default_scan,
40 &arch_info_struct[1],
43 32, /* bits in a word */
44 32, /* bits in an address */
45 8, /* bits in a byte */
46 bfd_arch_sparc,
47 bfd_mach_sparc_sparclite,
48 "sparc",
49 "sparc:sparclite",
51 FALSE,
52 bfd_default_compatible,
53 bfd_default_scan,
54 &arch_info_struct[2],
57 32, /* bits in a word */
58 32, /* bits in an address */
59 8, /* bits in a byte */
60 bfd_arch_sparc,
61 bfd_mach_sparc_v8plus,
62 "sparc",
63 "sparc:v8plus",
65 FALSE,
66 bfd_default_compatible,
67 bfd_default_scan,
68 &arch_info_struct[3],
71 32, /* bits in a word */
72 32, /* bits in an address */
73 8, /* bits in a byte */
74 bfd_arch_sparc,
75 bfd_mach_sparc_v8plusa,
76 "sparc",
77 "sparc:v8plusa",
79 FALSE,
80 bfd_default_compatible,
81 bfd_default_scan,
82 &arch_info_struct[4],
85 32, /* bits in a word */
86 32, /* bits in an address */
87 8, /* bits in a byte */
88 bfd_arch_sparc,
89 bfd_mach_sparc_sparclite_le,
90 "sparc",
91 "sparc:sparclite_le",
93 FALSE,
94 bfd_default_compatible,
95 bfd_default_scan,
96 &arch_info_struct[5],
99 64, /* bits in a word */
100 64, /* bits in an address */
101 8, /* bits in a byte */
102 bfd_arch_sparc,
103 bfd_mach_sparc_v9,
104 "sparc",
105 "sparc:v9",
107 FALSE,
108 bfd_default_compatible,
109 bfd_default_scan,
110 &arch_info_struct[6],
113 64, /* bits in a word */
114 64, /* bits in an address */
115 8, /* bits in a byte */
116 bfd_arch_sparc,
117 bfd_mach_sparc_v9a,
118 "sparc",
119 "sparc:v9a",
121 FALSE,
122 bfd_default_compatible,
123 bfd_default_scan,
124 &arch_info_struct[7],
127 32, /* bits in a word */
128 32, /* bits in an address */
129 8, /* bits in a byte */
130 bfd_arch_sparc,
131 bfd_mach_sparc_v8plusb,
132 "sparc",
133 "sparc:v8plusb",
135 FALSE,
136 bfd_default_compatible,
137 bfd_default_scan,
138 &arch_info_struct[8],
141 64, /* bits in a word */
142 64, /* bits in an address */
143 8, /* bits in a byte */
144 bfd_arch_sparc,
145 bfd_mach_sparc_v9b,
146 "sparc",
147 "sparc:v9b",
149 FALSE,
150 bfd_default_compatible,
151 bfd_default_scan,
156 const bfd_arch_info_type bfd_sparc_arch =
158 32, /* bits in a word */
159 32, /* bits in an address */
160 8, /* bits in a byte */
161 bfd_arch_sparc,
162 bfd_mach_sparc,
163 "sparc",
164 "sparc",
166 TRUE, /* the default */
167 bfd_default_compatible,
168 bfd_default_scan,
169 &arch_info_struct[0],