* readelf.c (get_arm_section_type_name): Added support for
[deliverable/binutils-gdb.git] / bfd / cpu-tic4x.c
CommitLineData
026df7c5 1/* bfd back-end for TMS320C[34]x support
3db64b00 2 Copyright 1996, 1997, 2002, 2003, 2007 Free Software Foundation, Inc.
026df7c5
NC
3
4 Contributed by Michael Hayes (m.hayes@elec.canterbury.ac.nz)
5
6 This file is part of BFD, the Binary File Descriptor library.
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
cd123cb7 10 the Free Software Foundation; either version 3 of the License, or
026df7c5
NC
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
cd123cb7
NC
20 Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
21 MA 02110-1301, USA. */
026df7c5 22
026df7c5 23#include "sysdep.h"
3db64b00 24#include "bfd.h"
026df7c5
NC
25#include "libbfd.h"
26
be33c5dd 27static bfd_boolean tic4x_scan
a6588c30
AM
28 PARAMS ((const struct bfd_arch_info *, const char * ));
29
30
b34976b6 31static bfd_boolean
be33c5dd 32tic4x_scan (info, string)
026df7c5
NC
33 const struct bfd_arch_info *info;
34 const char *string;
35{
36 /* Allow strings of form [ti][Cc][34][0-9], let's not be too picky
37 about strange numbered machines in C3x or C4x series. */
38 if (string[0] == 't' && string[1] == 'i')
39 string += 2;
40 if (*string == 'C' || *string == 'c')
41 string++;
42 if (string[1] < '0' && string[1] > '9')
b34976b6 43 return FALSE;
026df7c5
NC
44
45 if (*string == '3')
be33c5dd 46 return (info->mach == bfd_mach_tic3x);
026df7c5 47 else if (*string == '4')
be33c5dd 48 return info->mach == bfd_mach_tic4x;
026df7c5 49
b34976b6 50 return FALSE;
026df7c5
NC
51}
52
53
54const bfd_arch_info_type bfd_tic3x_arch =
55 {
56 32, /* 32 bits in a word. */
57 32, /* 32 bits in an address. */
58 32, /* 32 bits in a byte. */
59 bfd_arch_tic4x,
be33c5dd
SS
60 bfd_mach_tic3x, /* Machine number. */
61 "tic3x", /* Architecture name. */
026df7c5
NC
62 "tms320c3x", /* Printable name. */
63 0, /* Alignment power. */
b34976b6
AM
64 FALSE, /* Not the default architecture. */
65 bfd_default_compatible,
be33c5dd 66 tic4x_scan,
026df7c5
NC
67 0
68 };
69
70const bfd_arch_info_type bfd_tic4x_arch =
71 {
72 32, /* 32 bits in a word. */
73 32, /* 32 bits in an address. */
74 32, /* 32 bits in a byte. */
75 bfd_arch_tic4x,
be33c5dd
SS
76 bfd_mach_tic4x, /* Machine number. */
77 "tic4x", /* Architecture name. */
026df7c5
NC
78 "tms320c4x", /* Printable name. */
79 0, /* Alignment power. */
b34976b6
AM
80 TRUE, /* The default architecture. */
81 bfd_default_compatible,
be33c5dd 82 tic4x_scan,
026df7c5
NC
83 &bfd_tic3x_arch,
84 };
85
86
This page took 0.363756 seconds and 4 git commands to generate.