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