(root)/
binutils-2.41/
bfd/
cpu-csky.c
       1  /* BFD support for C-SKY processors.
       2     Copyright (C) 1994-2023 Free Software Foundation, Inc.
       3     Contributed by C-SKY Microsystems and Mentor Graphics.
       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 3 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., 51 Franklin Street - Fifth Floor, Boston,
      20     MA 02110-1301, USA.  */
      21  
      22  #include "sysdep.h"
      23  #include "bfd.h"
      24  #include "libbfd.h"
      25  
      26  #define N(NUMBER, PRINT, ISDEFAULT, NEXT)			        \
      27  {                                                                       \
      28    32,                     /* Bits in a word.  */                        \
      29    32,                     /* Bits in an address.  */                    \
      30    8,                      /* Bits in a byte.  */                        \
      31    bfd_arch_csky,          /* Architecture.  */                          \
      32    NUMBER,                 /* Machine number.  */                        \
      33    "csky",                 /* Architecture name.  */                     \
      34    PRINT,                  /* Printable name.  */                        \
      35    3,                      /* Section align power.  */                   \
      36    ISDEFAULT,              /* Is this the default architecture ?  */	\
      37    bfd_default_compatible, /* Architecture comparison function.  */	\
      38    bfd_default_scan,       /* String to architecture conversion.  */	\
      39    bfd_arch_default_fill,						\
      40    NEXT,                   /* Next in list.  */				\
      41    0 /* Maximum offset of a reloc from the start of an insn.  */		\
      42  }
      43  
      44  static const bfd_arch_info_type arch_info_struct[] =
      45  {
      46    /* ABI v1 processors. */
      47    N (bfd_mach_ck510,   "csky:ck510",    false, & arch_info_struct[1]),
      48    N (bfd_mach_ck610,   "csky:ck610",    false, & arch_info_struct[2]),
      49  
      50    /* ABI v2 processors.  */
      51    N (bfd_mach_ck801,   "csky:ck801",    false, & arch_info_struct[3]),
      52    N (bfd_mach_ck802,   "csky:ck802",    false, & arch_info_struct[4]),
      53    N (bfd_mach_ck803,   "csky:ck803",    false, & arch_info_struct[5]),
      54    N (bfd_mach_ck807,   "csky:ck807",    false, & arch_info_struct[6]),
      55    N (bfd_mach_ck810,   "csky:ck810",    false, & arch_info_struct[7]),
      56    N (bfd_mach_ck860,   "csky:ck860",    false, & arch_info_struct[8]),
      57    N (bfd_mach_ck_unknown, "csky:any",   false, NULL)
      58  };
      59  
      60  const bfd_arch_info_type bfd_csky_arch =
      61    N (0, "csky", true, & arch_info_struct[0]);