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