159024Sobrien/* BFD support for the SPARC architecture. 2218822Sdim Copyright 1992, 1995, 1996, 1998, 2000, 2002, 2007 394536Sobrien Free Software Foundation, Inc. 459024Sobrien 559024SobrienThis file is part of BFD, the Binary File Descriptor library. 659024Sobrien 759024SobrienThis program is free software; you can redistribute it and/or modify 859024Sobrienit under the terms of the GNU General Public License as published by 959024Sobrienthe Free Software Foundation; either version 2 of the License, or 1059024Sobrien(at your option) any later version. 1159024Sobrien 1259024SobrienThis program is distributed in the hope that it will be useful, 1359024Sobrienbut WITHOUT ANY WARRANTY; without even the implied warranty of 1459024SobrienMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 1559024SobrienGNU General Public License for more details. 1659024Sobrien 1759024SobrienYou should have received a copy of the GNU General Public License 1859024Sobrienalong with this program; if not, write to the Free Software 19218822SdimFoundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. */ 2059024Sobrien 21218822Sdim#include "sysdep.h" 2259024Sobrien#include "bfd.h" 2359024Sobrien#include "libbfd.h" 2459024Sobrien 2559024Sobrienstatic const bfd_arch_info_type arch_info_struct[] = 2659024Sobrien{ 2759024Sobrien { 2859024Sobrien 32, /* bits in a word */ 2959024Sobrien 32, /* bits in an address */ 3059024Sobrien 8, /* bits in a byte */ 3159024Sobrien bfd_arch_sparc, 3259024Sobrien bfd_mach_sparc_sparclet, 3359024Sobrien "sparc", 3459024Sobrien "sparc:sparclet", 3559024Sobrien 3, 36130561Sobrien FALSE, 3794536Sobrien bfd_default_compatible, 3859024Sobrien bfd_default_scan, 3959024Sobrien &arch_info_struct[1], 4059024Sobrien }, 4159024Sobrien { 4259024Sobrien 32, /* bits in a word */ 4359024Sobrien 32, /* bits in an address */ 4459024Sobrien 8, /* bits in a byte */ 4559024Sobrien bfd_arch_sparc, 4659024Sobrien bfd_mach_sparc_sparclite, 4759024Sobrien "sparc", 4859024Sobrien "sparc:sparclite", 4959024Sobrien 3, 50130561Sobrien FALSE, 5194536Sobrien bfd_default_compatible, 5259024Sobrien bfd_default_scan, 5359024Sobrien &arch_info_struct[2], 5459024Sobrien }, 5559024Sobrien { 5659024Sobrien 32, /* bits in a word */ 5759024Sobrien 32, /* bits in an address */ 5859024Sobrien 8, /* bits in a byte */ 5959024Sobrien bfd_arch_sparc, 6059024Sobrien bfd_mach_sparc_v8plus, 6159024Sobrien "sparc", 6259024Sobrien "sparc:v8plus", 6359024Sobrien 3, 64130561Sobrien FALSE, 6594536Sobrien bfd_default_compatible, 6659024Sobrien bfd_default_scan, 6759024Sobrien &arch_info_struct[3], 6859024Sobrien }, 6959024Sobrien { 7059024Sobrien 32, /* bits in a word */ 7159024Sobrien 32, /* bits in an address */ 7259024Sobrien 8, /* bits in a byte */ 7359024Sobrien bfd_arch_sparc, 7459024Sobrien bfd_mach_sparc_v8plusa, 7559024Sobrien "sparc", 7659024Sobrien "sparc:v8plusa", 7759024Sobrien 3, 78130561Sobrien FALSE, 7994536Sobrien bfd_default_compatible, 8059024Sobrien bfd_default_scan, 8159024Sobrien &arch_info_struct[4], 8259024Sobrien }, 8359024Sobrien { 8460484Sobrien 32, /* bits in a word */ 8560484Sobrien 32, /* bits in an address */ 8660484Sobrien 8, /* bits in a byte */ 8760484Sobrien bfd_arch_sparc, 8860484Sobrien bfd_mach_sparc_sparclite_le, 8960484Sobrien "sparc", 9060484Sobrien "sparc:sparclite_le", 9160484Sobrien 3, 92130561Sobrien FALSE, 9394536Sobrien bfd_default_compatible, 9460484Sobrien bfd_default_scan, 9560484Sobrien &arch_info_struct[5], 9660484Sobrien }, 9760484Sobrien { 9859024Sobrien 64, /* bits in a word */ 9959024Sobrien 64, /* bits in an address */ 10059024Sobrien 8, /* bits in a byte */ 10159024Sobrien bfd_arch_sparc, 10259024Sobrien bfd_mach_sparc_v9, 10359024Sobrien "sparc", 10459024Sobrien "sparc:v9", 10559024Sobrien 3, 106130561Sobrien FALSE, 10794536Sobrien bfd_default_compatible, 10859024Sobrien bfd_default_scan, 10960484Sobrien &arch_info_struct[6], 11059024Sobrien }, 11159024Sobrien { 11259024Sobrien 64, /* bits in a word */ 11359024Sobrien 64, /* bits in an address */ 11459024Sobrien 8, /* bits in a byte */ 11559024Sobrien bfd_arch_sparc, 11659024Sobrien bfd_mach_sparc_v9a, 11759024Sobrien "sparc", 11859024Sobrien "sparc:v9a", 11959024Sobrien 3, 120130561Sobrien FALSE, 12194536Sobrien bfd_default_compatible, 12259024Sobrien bfd_default_scan, 12377298Sobrien &arch_info_struct[7], 12477298Sobrien }, 12577298Sobrien { 12677298Sobrien 32, /* bits in a word */ 12777298Sobrien 32, /* bits in an address */ 12877298Sobrien 8, /* bits in a byte */ 12977298Sobrien bfd_arch_sparc, 13077298Sobrien bfd_mach_sparc_v8plusb, 13177298Sobrien "sparc", 13277298Sobrien "sparc:v8plusb", 13377298Sobrien 3, 134130561Sobrien FALSE, 13594536Sobrien bfd_default_compatible, 13677298Sobrien bfd_default_scan, 13777298Sobrien &arch_info_struct[8], 13877298Sobrien }, 13977298Sobrien { 14077298Sobrien 64, /* bits in a word */ 14177298Sobrien 64, /* bits in an address */ 14277298Sobrien 8, /* bits in a byte */ 14377298Sobrien bfd_arch_sparc, 14477298Sobrien bfd_mach_sparc_v9b, 14577298Sobrien "sparc", 14677298Sobrien "sparc:v9b", 14777298Sobrien 3, 148130561Sobrien FALSE, 14994536Sobrien bfd_default_compatible, 15077298Sobrien bfd_default_scan, 15159024Sobrien 0, 15259024Sobrien } 15359024Sobrien}; 15459024Sobrien 15559024Sobrienconst bfd_arch_info_type bfd_sparc_arch = 15659024Sobrien { 15759024Sobrien 32, /* bits in a word */ 15859024Sobrien 32, /* bits in an address */ 15959024Sobrien 8, /* bits in a byte */ 16059024Sobrien bfd_arch_sparc, 16159024Sobrien bfd_mach_sparc, 16259024Sobrien "sparc", 16359024Sobrien "sparc", 16459024Sobrien 3, 165130561Sobrien TRUE, /* the default */ 16694536Sobrien bfd_default_compatible, 16759024Sobrien bfd_default_scan, 16859024Sobrien &arch_info_struct[0], 16959024Sobrien }; 170