merge from gcc
[platform/upstream/binutils.git] / bfd / cpu-xc16x.c
1 /* BFD support for the Infineon XC16X Microcontroller.
2    Copyright 2006, 2007 Free Software Foundation, Inc.
3    Contributed by KPIT Cummins Infosystems 
4
5    This file is part of BFD, the Binary File Descriptor library.
6    Contributed by Anil Paranjpe(anilp1@kpitcummins.com)
7
8    This program is free software; you can redistribute it and/or modify
9    it under the terms of the GNU General Public License as published by
10    the Free Software Foundation; either version 3 of the License, or
11    (at your option) any later version.
12
13    This program is distributed in the hope that it will be useful,
14    but WITHOUT ANY WARRANTY; without even the implied warranty of
15    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
16    GNU General Public License for more details.
17
18    You should have received a copy of the GNU General Public License
19    along with this program; if not, write to the Free Software
20    Foundation, 51 Franklin Street - Fifth Floor, Boston, MA
21    02110-1301, USA.  */
22
23 #include "sysdep.h"
24 #include "bfd.h"
25 #include "libbfd.h"
26
27 const bfd_arch_info_type xc16xs_info_struct =
28 {
29   16,                           /* Bits per word.  */
30   16,                           /* Bits per address.  */
31   8,                            /* Bits per byte.  */
32   bfd_arch_xc16x,               /* Architecture.  */
33   bfd_mach_xc16xs,              /* Machine.  */
34   "xc16x",                      /* Architecture name.  */
35   "xc16xs",                     /* Printable name.  */
36   1,                            /* Section alignment - 16 bit.  */
37   TRUE,                         /* The default ?  */
38   bfd_default_compatible,       /* Architecture comparison fn.  */
39   bfd_default_scan,             /* String to architecture convert fn.  */
40   NULL                          /* Next in list.  */
41 };
42
43 const bfd_arch_info_type xc16xl_info_struct =
44 {
45   16,                           /* Bits per word.  */
46   32,                           /* Bits per address.  */
47   8,                            /* Bits per byte.  */
48   bfd_arch_xc16x,               /* Architecture.  */
49   bfd_mach_xc16xl,              /* Machine.  */
50   "xc16x",                      /* Architecture name.  */
51   "xc16xl",                     /* Printable name.  */
52   1,                            /* Section alignment - 16 bit.  */
53   TRUE,                         /* The default ?  */
54   bfd_default_compatible,       /* Architecture comparison fn.  */
55   bfd_default_scan,             /* String to architecture convert fn.  */
56   & xc16xs_info_struct          /* Next in list.  */
57 };
58
59 const bfd_arch_info_type bfd_xc16x_arch =
60 {
61   16,                           /* Bits per word.  */
62   16,                           /* Bits per address.  */
63   8,                            /* Bits per byte.  */
64   bfd_arch_xc16x,               /* Architecture.  */
65   bfd_mach_xc16x,               /* Machine.  */
66   "xc16x",                      /* Architecture name.  */
67   "xc16x",                      /* Printable name.  */
68   1,                            /* Section alignment - 16 bit.  */
69   TRUE,                         /* The default ?  */
70   bfd_default_compatible,       /* Architecture comparison fn.  */
71   bfd_default_scan,             /* String to architecture convert fn.  */
72   & xc16xl_info_struct          /* Next in list.  */
73 };