(root)/
binutils-2.41/
gas/
config/
tc-xstormy16.h
       1  /* tc-xstormy16.h -- Header file for tc-xstormy16.c.
       2     Copyright (C) 2000-2023 Free Software Foundation, Inc.
       3  
       4     This file is part of GAS, the GNU Assembler.
       5  
       6     GAS is free software; you can redistribute it and/or modify
       7     it under the terms of the GNU General Public License as published by
       8     the Free Software Foundation; either version 3, or (at your option)
       9     any later version.
      10  
      11     GAS is distributed in the hope that it will be useful,
      12     but WITHOUT ANY WARRANTY; without even the implied warranty of
      13     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
      14     GNU General Public License for more details.
      15  
      16     You should have received a copy of the GNU General Public License
      17     along with GAS; see the file COPYING.  If not, write to
      18     the Free Software Foundation, 51 Franklin Street - Fifth Floor,
      19     Boston, MA 02110-1301, USA.  */
      20  
      21  #define TC_XSTORMY16
      22  
      23  #define LISTING_HEADER "XSTORMY16 GAS "
      24  
      25  /* The target BFD architecture.  */
      26  #define TARGET_ARCH bfd_arch_xstormy16
      27  
      28  #define TARGET_FORMAT "elf32-xstormy16"
      29  
      30  #define TARGET_BYTES_BIG_ENDIAN 0
      31  
      32  /* Permit temporary numeric labels.  */
      33  #define LOCAL_LABELS_FB 1
      34  
      35  #define DIFF_EXPR_OK		/* foo-. gets turned into PC relative relocs.  */
      36  
      37  /* We don't need to handle .word strangely.  */
      38  #define WORKING_DOT_WORD
      39  
      40  /* Values passed to md_apply_fix don't include the symbol value.  */
      41  #define MD_APPLY_SYM_VALUE(FIX) 0
      42  
      43  #define md_apply_fix xstormy16_md_apply_fix
      44  
      45  #define tc_fix_adjustable(FIX) xstormy16_fix_adjustable (FIX)
      46  extern bool xstormy16_fix_adjustable (struct fix *);
      47  
      48  #define TC_FORCE_RELOCATION(fix) xstormy16_force_relocation (fix)
      49  extern int xstormy16_force_relocation (struct fix *);
      50  
      51  #define TC_HANDLES_FX_DONE
      52  
      53  #define tc_gen_reloc gas_cgen_tc_gen_reloc
      54  
      55  /* Call md_pcrel_from_section(), not md_pcrel_from().  */
      56  #define MD_PCREL_FROM_SECTION(FIX, SEC) md_pcrel_from_section (FIX, SEC)
      57  
      58  #define TC_CONS_FIX_NEW xstormy16_cons_fix_new
      59  extern void xstormy16_cons_fix_new (fragS *f, int, int, expressionS *,
      60  				    bfd_reloc_code_real_type);
      61  
      62  #define md_cgen_record_fixup_exp  xstormy16_cgen_record_fixup_exp
      63  
      64  /* Minimum instruction is two bytes.  */
      65  #define DWARF2_LINE_MIN_INSN_LENGTH 2
      66  
      67  /* This target is buggy, and sets fix size too large.  */
      68  #define TC_FX_SIZE_SLACK(FIX) 2