(root)/
binutils-2.41/
bfd/
cpu-s390.c
       1  /* BFD support for the s390 processor.
       2     Copyright (C) 2000-2023 Free Software Foundation, Inc.
       3     Contributed by Carl B. Pedersen and Martin Schwidefsky.
       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, MA
      20     02110-1301, USA.  */
      21  
      22  #include "sysdep.h"
      23  #include "bfd.h"
      24  #include "libbfd.h"
      25  
      26  #define N(bits, number, print, is_default, next)	\
      27    {							\
      28      bits,	       /* Bits in a word.  */		\
      29      bits,	       /* Bits in an address.  */	\
      30      8,		       /* Bits in a byte.  */		\
      31      bfd_arch_s390,					\
      32      number,						\
      33      "s390",						\
      34      print,						\
      35      3,		       /* Section alignment power */	\
      36      is_default,						\
      37      bfd_default_compatible,				\
      38      bfd_default_scan,					\
      39      bfd_arch_default_fill,				\
      40      next,						\
      41      0 /* Maximum offset of a reloc from the start of an insn.  */ \
      42    }
      43  
      44  #if BFD_DEFAULT_TARGET_SIZE == 64
      45  static const bfd_arch_info_type bfd_s390_31_arch =
      46    N (32, bfd_mach_s390_31, "s390:31-bit", false, NULL);
      47  const bfd_arch_info_type bfd_s390_arch =
      48    N (64, bfd_mach_s390_64, "s390:64-bit", true, &bfd_s390_31_arch);
      49  #else
      50  static const bfd_arch_info_type bfd_s390_64_arch =
      51    N (64, bfd_mach_s390_64, "s390:64-bit", false, NULL);
      52  const bfd_arch_info_type bfd_s390_arch =
      53    N (32, bfd_mach_s390_31, "s390:31-bit", true, &bfd_s390_64_arch);
      54  #endif