1999-09-04 Steve Chamberlain <sac@pobox.com>
[external/binutils.git] / bfd / cpu-pj.c
1 /* BFD library support routines for the Pico Java architecture.
2    Copyright (C) 1999 Free Software Foundation, Inc.
3    Hacked by Steve Chamberlain of Transmeta. sac@pobox.com
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 2 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  */
20
21 #include "bfd.h"
22 #include "sysdep.h"
23 #include "libbfd.h"
24
25
26 static boolean 
27 scan_mach (info, string)
28      const struct bfd_arch_info *info;
29      const char *string;
30 {
31   if (strcasecmp (info->printable_name, string) == 0)
32     return true;
33   return false;
34 }
35
36
37 #if 0
38 /* This routine is provided two arch_infos and returns whether
39    they'd be compatible */
40
41 static const bfd_arch_info_type *
42 compatible (a,b)
43      const bfd_arch_info_type *a;
44      const bfd_arch_info_type *b;
45 {
46   if (a->arch != b->arch || a->mach != b->mach)
47    return NULL;
48   return a;
49 }
50 #endif
51
52
53 static const bfd_arch_info_type arch_info_struct[] = 
54 {
55   {
56     32,                         /* 32 bits in a word */
57     32,                         /* 32 bits in an address */
58     8,                          /* 8 bits in a byte */
59     bfd_arch_pj,
60     0,
61     "pj",                       /* arch_name  */
62     "pj",                       /* printable name */
63     1,
64     false,                      /* not the default */
65     bfd_default_compatible,
66     scan_mach,
67     0,
68   },
69 };
70
71 const bfd_arch_info_type bfd_pj_arch =
72 {
73   32,                           /* 32 bits in a word */
74   32,                           /* 32 bits in an address */
75   8,                            /* 8 bits in a byte */
76   bfd_arch_pj,
77   0,
78   "pj",                         /* arch_name  */
79   "pj",                         /* printable name */
80   1,
81   true,                         /* the default machine */
82   bfd_default_compatible,
83   scan_mach,
84   &arch_info_struct [0]
85 };