xref: /netbsd-src/external/gpl3/binutils.old/dist/bfd/cpu-spu.c (revision e992f068c547fd6e84b3f104dc2340adcc955732)
1 /* Copyright (C) 2006-2022 Free Software Foundation, Inc.
2 
3    This file is part of BFD, the Binary File Descriptor library.
4 
5    This program is free software; you can redistribute it and/or modify
6    it under the terms of the GNU General Public License as published by
7    the Free Software Foundation; either version 3 of the License, or
8    (at your option) any later version.
9 
10    This program is distributed in the hope that it will be useful,
11    but WITHOUT ANY WARRANTY; without even the implied warranty of
12    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13    GNU General Public License for more details.
14 
15    You should have received a copy of the GNU General Public License along
16    with this program; if not, write to the Free Software Foundation, Inc.,
17    51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA.  */
18 
19 #include "sysdep.h"
20 #include "bfd.h"
21 #include "libbfd.h"
22 
23 static const bfd_arch_info_type *
spu_compatible(const bfd_arch_info_type * a,const bfd_arch_info_type * b)24 spu_compatible (const bfd_arch_info_type *a, const bfd_arch_info_type *b)
25 {
26   BFD_ASSERT (a->arch == bfd_arch_spu);
27   switch (b->arch)
28     {
29     default:
30       return NULL;
31     case bfd_arch_spu:
32       return bfd_default_compatible (a, b);
33     }
34   /*NOTREACHED*/
35 }
36 
37 const bfd_arch_info_type bfd_spu_arch =
38 {
39   32,			/* Bits in a word.  */
40   32,			/* Bits in an address.  */
41   8,			/* Bits in a byte.  */
42   bfd_arch_spu,		/* Architecture number.  */
43   bfd_mach_spu,		/* Machine number.  */
44   "spu",		/* Architecture name.  */
45   "spu:256K",		/* Printable name.  */
46   3,			/* Section alignment power.  */
47   true,			/* Default machine.  */
48   spu_compatible,	/* The spu is only compatible with itself, see above.  */
49   bfd_default_scan,
50   bfd_arch_default_fill,
51   NULL,			/* Next -- there are none!  */
52   0 /* Maximum offset of a reloc from the start of an insn.  */
53 };
54