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

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [gnu-old/] [binutils-2.18.50/] [bfd/] [cpu-tic4x.c] - Diff between revs 156 and 816

Go to most recent revision | Only display areas with differences | Details | Blame | View Log

Rev 156 Rev 816
/* bfd back-end for TMS320C[34]x support
/* bfd back-end for TMS320C[34]x support
   Copyright 1996, 1997, 2002, 2003, 2007 Free Software Foundation, Inc.
   Copyright 1996, 1997, 2002, 2003, 2007 Free Software Foundation, Inc.
 
 
   Contributed by Michael Hayes (m.hayes@elec.canterbury.ac.nz)
   Contributed by Michael Hayes (m.hayes@elec.canterbury.ac.nz)
 
 
   This file is part of BFD, the Binary File Descriptor library.
   This file is part of BFD, the Binary File Descriptor library.
 
 
   This program is free software; you can redistribute it and/or modify
   This program is free software; you can redistribute it and/or modify
   it under the terms of the GNU General Public License as published by
   it under the terms of the GNU General Public License as published by
   the Free Software Foundation; either version 3 of the License, or
   the Free Software Foundation; either version 3 of the License, or
   (at your option) any later version.
   (at your option) any later version.
 
 
   This program is distributed in the hope that it will be useful,
   This program is distributed in the hope that it will be useful,
   but WITHOUT ANY WARRANTY; without even the implied warranty of
   but WITHOUT ANY WARRANTY; without even the implied warranty of
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
   GNU General Public License for more details.
   GNU General Public License for more details.
 
 
   You should have received a copy of the GNU General Public License
   You should have received a copy of the GNU General Public License
   along with this program; if not, write to the Free Software
   along with this program; if not, write to the Free Software
   Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
   Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
   MA 02110-1301, USA.  */
   MA 02110-1301, USA.  */
 
 
#include "sysdep.h"
#include "sysdep.h"
#include "bfd.h"
#include "bfd.h"
#include "libbfd.h"
#include "libbfd.h"
 
 
static bfd_boolean tic4x_scan
static bfd_boolean tic4x_scan
    PARAMS ((const struct bfd_arch_info *, const char * ));
    PARAMS ((const struct bfd_arch_info *, const char * ));
 
 
 
 
static bfd_boolean
static bfd_boolean
tic4x_scan (info, string)
tic4x_scan (info, string)
     const struct bfd_arch_info *info;
     const struct bfd_arch_info *info;
     const char *string;
     const char *string;
{
{
  /* Allow strings of form [ti][Cc][34][0-9], let's not be too picky
  /* Allow strings of form [ti][Cc][34][0-9], let's not be too picky
     about strange numbered machines in C3x or C4x series.  */
     about strange numbered machines in C3x or C4x series.  */
  if (string[0] == 't' && string[1] == 'i')
  if (string[0] == 't' && string[1] == 'i')
    string += 2;
    string += 2;
  if (*string == 'C' || *string == 'c')
  if (*string == 'C' || *string == 'c')
    string++;
    string++;
  if (string[1] < '0' && string[1] > '9')
  if (string[1] < '0' && string[1] > '9')
    return FALSE;
    return FALSE;
 
 
  if (*string == '3')
  if (*string == '3')
    return (info->mach == bfd_mach_tic3x);
    return (info->mach == bfd_mach_tic3x);
  else if (*string == '4')
  else if (*string == '4')
    return info->mach == bfd_mach_tic4x;
    return info->mach == bfd_mach_tic4x;
 
 
  return FALSE;
  return FALSE;
}
}
 
 
 
 
const bfd_arch_info_type bfd_tic3x_arch =
const bfd_arch_info_type bfd_tic3x_arch =
  {
  {
    32,                         /* 32 bits in a word.  */
    32,                         /* 32 bits in a word.  */
    32,                         /* 32 bits in an address.  */
    32,                         /* 32 bits in an address.  */
    32,                         /* 32 bits in a byte.  */
    32,                         /* 32 bits in a byte.  */
    bfd_arch_tic4x,
    bfd_arch_tic4x,
    bfd_mach_tic3x,             /* Machine number.  */
    bfd_mach_tic3x,             /* Machine number.  */
    "tic3x",                    /* Architecture name.  */
    "tic3x",                    /* Architecture name.  */
    "tms320c3x",                /* Printable name.  */
    "tms320c3x",                /* Printable name.  */
    0,                           /* Alignment power.  */
    0,                           /* Alignment power.  */
    FALSE,                      /* Not the default architecture.  */
    FALSE,                      /* Not the default architecture.  */
    bfd_default_compatible,
    bfd_default_compatible,
    tic4x_scan,
    tic4x_scan,
    0
    0
  };
  };
 
 
const bfd_arch_info_type bfd_tic4x_arch =
const bfd_arch_info_type bfd_tic4x_arch =
  {
  {
    32,                         /* 32 bits in a word.  */
    32,                         /* 32 bits in a word.  */
    32,                         /* 32 bits in an address.  */
    32,                         /* 32 bits in an address.  */
    32,                         /* 32 bits in a byte.  */
    32,                         /* 32 bits in a byte.  */
    bfd_arch_tic4x,
    bfd_arch_tic4x,
    bfd_mach_tic4x,             /* Machine number.  */
    bfd_mach_tic4x,             /* Machine number.  */
    "tic4x",                    /* Architecture name.  */
    "tic4x",                    /* Architecture name.  */
    "tms320c4x",                /* Printable name.  */
    "tms320c4x",                /* Printable name.  */
    0,                           /* Alignment power.  */
    0,                           /* Alignment power.  */
    TRUE,                       /* The default architecture.  */
    TRUE,                       /* The default architecture.  */
    bfd_default_compatible,
    bfd_default_compatible,
    tic4x_scan,
    tic4x_scan,
    &bfd_tic3x_arch,
    &bfd_tic3x_arch,
  };
  };
 
 
 
 
 
 

powered by: WebSVN 2.1.0

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