cpu-sparc.c revision 1.1.1.2
1/* BFD support for the SPARC architecture.
2   Copyright 1992, 1995, 1996, 1998, 2000, 2002, 2005, 2007
3   Free Software Foundation, Inc.
4
5   This file is part of BFD, the Binary File Descriptor library.
6
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.
11
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.
16
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.  */
21
22#include "sysdep.h"
23#include "bfd.h"
24#include "libbfd.h"
25
26static const bfd_arch_info_type arch_info_struct[] =
27{
28  {
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",
36    3,
37    FALSE,
38    bfd_default_compatible,
39    bfd_default_scan,
40    bfd_arch_default_fill,
41    &arch_info_struct[1],
42  },
43  {
44    32,	/* bits in a word */
45    32,	/* bits in an address */
46    8,	/* bits in a byte */
47    bfd_arch_sparc,
48    bfd_mach_sparc_sparclite,
49    "sparc",
50    "sparc:sparclite",
51    3,
52    FALSE,
53    bfd_default_compatible,
54    bfd_default_scan,
55    bfd_arch_default_fill,
56    &arch_info_struct[2],
57  },
58  {
59    32,	/* bits in a word */
60    32,	/* bits in an address */
61    8,	/* bits in a byte */
62    bfd_arch_sparc,
63    bfd_mach_sparc_v8plus,
64    "sparc",
65    "sparc:v8plus",
66    3,
67    FALSE,
68    bfd_default_compatible,
69    bfd_default_scan,
70    bfd_arch_default_fill,
71    &arch_info_struct[3],
72  },
73  {
74    32,	/* bits in a word */
75    32,	/* bits in an address */
76    8,	/* bits in a byte */
77    bfd_arch_sparc,
78    bfd_mach_sparc_v8plusa,
79    "sparc",
80    "sparc:v8plusa",
81    3,
82    FALSE,
83    bfd_default_compatible,
84    bfd_default_scan,
85    bfd_arch_default_fill,
86    &arch_info_struct[4],
87  },
88  {
89    32,	/* bits in a word */
90    32,	/* bits in an address */
91    8,	/* bits in a byte */
92    bfd_arch_sparc,
93    bfd_mach_sparc_sparclite_le,
94    "sparc",
95    "sparc:sparclite_le",
96    3,
97    FALSE,
98    bfd_default_compatible,
99    bfd_default_scan,
100    bfd_arch_default_fill,
101    &arch_info_struct[5],
102  },
103  {
104    64,	/* bits in a word */
105    64,	/* bits in an address */
106    8,	/* bits in a byte */
107    bfd_arch_sparc,
108    bfd_mach_sparc_v9,
109    "sparc",
110    "sparc:v9",
111    3,
112    FALSE,
113    bfd_default_compatible,
114    bfd_default_scan,
115    bfd_arch_default_fill,
116    &arch_info_struct[6],
117  },
118  {
119    64,	/* bits in a word */
120    64,	/* bits in an address */
121    8,	/* bits in a byte */
122    bfd_arch_sparc,
123    bfd_mach_sparc_v9a,
124    "sparc",
125    "sparc:v9a",
126    3,
127    FALSE,
128    bfd_default_compatible,
129    bfd_default_scan,
130    bfd_arch_default_fill,
131    &arch_info_struct[7],
132  },
133  {
134    32,	/* bits in a word */
135    32,	/* bits in an address */
136    8,	/* bits in a byte */
137    bfd_arch_sparc,
138    bfd_mach_sparc_v8plusb,
139    "sparc",
140    "sparc:v8plusb",
141    3,
142    FALSE,
143    bfd_default_compatible,
144    bfd_default_scan,
145    bfd_arch_default_fill,
146    &arch_info_struct[8],
147  },
148  {
149    64,	/* bits in a word */
150    64,	/* bits in an address */
151    8,	/* bits in a byte */
152    bfd_arch_sparc,
153    bfd_mach_sparc_v9b,
154    "sparc",
155    "sparc:v9b",
156    3,
157    FALSE,
158    bfd_default_compatible,
159    bfd_default_scan,
160    bfd_arch_default_fill,
161    0,
162  }
163};
164
165const bfd_arch_info_type bfd_sparc_arch =
166  {
167    32,	/* bits in a word */
168    32,	/* bits in an address */
169    8,	/* bits in a byte */
170    bfd_arch_sparc,
171    bfd_mach_sparc,
172    "sparc",
173    "sparc",
174    3,
175    TRUE, /* the default */
176    bfd_default_compatible,
177    bfd_default_scan,
178    bfd_arch_default_fill,
179    &arch_info_struct[0],
180  };
181