OpenCores
URL https://opencores.org/ocsvn/open8_urisc/open8_urisc/trunk

Subversion Repositories open8_urisc

[/] [open8_urisc/] [trunk/] [gnu/] [binutils/] [bfd/] [cpu-tic4x.c] - Blame information for rev 303

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 14 khays
/* bfd back-end for TMS320C[34]x support
2
   Copyright 1996, 1997, 2002, 2003, 2005, 2007 Free Software Foundation, Inc.
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
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, Inc., 51 Franklin Street - Fifth Floor, Boston,
21
   MA 02110-1301, USA.  */
22
 
23
#include "sysdep.h"
24
#include "bfd.h"
25
#include "libbfd.h"
26
 
27
static bfd_boolean tic4x_scan
28
    PARAMS ((const struct bfd_arch_info *, const char * ));
29
 
30
 
31
static bfd_boolean
32
tic4x_scan (info, string)
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')
43
    return FALSE;
44
 
45
  if (*string == '3')
46
    return (info->mach == bfd_mach_tic3x);
47
  else if (*string == '4')
48
    return info->mach == bfd_mach_tic4x;
49
 
50
  return FALSE;
51
}
52
 
53
 
54
const 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,
60
    bfd_mach_tic3x,             /* Machine number.  */
61
    "tic3x",                    /* Architecture name.  */
62
    "tms320c3x",                /* Printable name.  */
63
    0,                           /* Alignment power.  */
64
    FALSE,                      /* Not the default architecture.  */
65
    bfd_default_compatible,
66
    tic4x_scan,
67 166 khays
    bfd_arch_default_fill,
68 14 khays
 
69
  };
70
 
71
const bfd_arch_info_type bfd_tic4x_arch =
72
  {
73
    32,                         /* 32 bits in a word.  */
74
    32,                         /* 32 bits in an address.  */
75
    32,                         /* 32 bits in a byte.  */
76
    bfd_arch_tic4x,
77
    bfd_mach_tic4x,             /* Machine number.  */
78
    "tic4x",                    /* Architecture name.  */
79
    "tms320c4x",                /* Printable name.  */
80
    0,                           /* Alignment power.  */
81
    TRUE,                       /* The default architecture.  */
82
    bfd_default_compatible,
83
    tic4x_scan,
84 166 khays
    bfd_arch_default_fill,
85 14 khays
    &bfd_tic3x_arch,
86
  };
87
 
88
 

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.