Home | History | Annotate | Line # | Download | only in config
      1   1.1     skrll /* tc-vax.h -- Header file for tc-vax.c.
      2  1.13  christos    Copyright (C) 1987-2026 Free Software Foundation, Inc.
      3   1.1     skrll 
      4   1.1     skrll    This file is part of GAS, the GNU Assembler.
      5   1.1     skrll 
      6   1.1     skrll    GAS is free software; you can redistribute it and/or modify
      7   1.1     skrll    it under the terms of the GNU General Public License as published by
      8   1.1     skrll    the Free Software Foundation; either version 3, or (at your option)
      9   1.1     skrll    any later version.
     10   1.1     skrll 
     11   1.1     skrll    GAS is distributed in the hope that it will be useful,
     12   1.1     skrll    but WITHOUT ANY WARRANTY; without even the implied warranty of
     13   1.1     skrll    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
     14   1.1     skrll    GNU General Public License for more details.
     15   1.1     skrll 
     16   1.1     skrll    You should have received a copy of the GNU General Public License
     17   1.1     skrll    along with GAS; see the file COPYING.  If not, write to the Free
     18   1.1     skrll    Software Foundation, 51 Franklin Street - Fifth Floor, Boston, MA
     19   1.1     skrll    02110-1301, USA.  */
     20   1.1     skrll 
     21   1.1     skrll #define TC_VAX 1
     22   1.1     skrll 
     23   1.1     skrll #define TARGET_BYTES_BIG_ENDIAN 0
     24   1.1     skrll 
     25   1.1     skrll #ifdef OBJ_AOUT
     26   1.1     skrll #ifdef TE_NetBSD
     27   1.1     skrll #define TARGET_FORMAT "a.out-vax-netbsd"
     28   1.1     skrll #endif
     29   1.1     skrll #ifndef TARGET_FORMAT
     30   1.1     skrll #define TARGET_FORMAT "a.out-vax-bsd"
     31   1.1     skrll #endif
     32   1.1     skrll #endif
     33   1.1     skrll 
     34   1.1     skrll #ifdef OBJ_ELF
     35   1.1     skrll #define TARGET_FORMAT "elf32-vax"
     36  1.10       rin #define DIFF_EXPR_OK 1
     37  1.10       rin #define CFI_DIFF_EXPR_OK 0
     38   1.1     skrll #endif
     39   1.1     skrll 
     40   1.1     skrll #define TARGET_ARCH	bfd_arch_vax
     41   1.1     skrll 
     42   1.1     skrll #define NO_RELOC	BFD_RELOC_NONE
     43   1.1     skrll #define NOP_OPCODE	0x01
     44   1.1     skrll 
     45   1.1     skrll #define md_operand(x)
     46   1.1     skrll 
     47   1.1     skrll #ifdef OBJ_ELF
     48   1.1     skrll #define TC_PARSE_CONS_EXPRESSION(EXP, NBYTES) vax_cons (EXP, NBYTES)
     49   1.1     skrll #define TC_CONS_FIX_NEW vax_cons_fix_new
     50   1.5  christos bfd_reloc_code_real_type vax_cons (expressionS *, int);
     51   1.5  christos void vax_cons_fix_new (struct frag *, int, unsigned int, struct expressionS *,
     52   1.5  christos 		       bfd_reloc_code_real_type);
     53   1.1     skrll #endif
     54   1.1     skrll 
     55   1.1     skrll extern const struct relax_type md_relax_table[];
     56   1.1     skrll #define TC_GENERIC_RELAX_TABLE md_relax_table
     57   1.1     skrll 
     58   1.1     skrll /* Values passed to md_apply_fix don't include symbol values.  */
     59   1.1     skrll #define MD_APPLY_SYM_VALUE(FIX) 0
     60   1.1     skrll 
     61   1.1     skrll #define tc_fix_adjustable(FIX)					\
     62   1.1     skrll 	((FIX)->fx_r_type != BFD_RELOC_VTABLE_INHERIT		\
     63   1.1     skrll 	 && (FIX)->fx_r_type != BFD_RELOC_32_PLT_PCREL		\
     64   1.1     skrll 	 && (FIX)->fx_r_type != BFD_RELOC_32_GOT_PCREL		\
     65   1.1     skrll 	 && (FIX)->fx_r_type != BFD_RELOC_VTABLE_ENTRY		\
     66   1.1     skrll 	 && ((FIX)->fx_pcrel					\
     67   1.1     skrll 	     || ((FIX)->fx_subsy != NULL			\
     68   1.1     skrll 		 && (S_GET_SEGMENT ((FIX)->fx_subsy)		\
     69   1.1     skrll 		     == S_GET_SEGMENT ((FIX)->fx_addsy)))	\
     70   1.1     skrll 	     || S_IS_LOCAL ((FIX)->fx_addsy)))
     71   1.1     skrll 
     72   1.4      matt #define TARGET_USE_CFIPOP 1
     73   1.4      matt 
     74   1.4      matt #define tc_cfi_frame_initial_instructions vax_cfi_frame_initial_instructions
     75   1.4      matt extern void vax_cfi_frame_initial_instructions (void);
     76   1.4      matt 
     77   1.4      matt #define tc_regname_to_dw2regnum tc_vax_regname_to_dw2regnum
     78   1.4      matt extern int tc_vax_regname_to_dw2regnum (char *);
     79   1.4      matt 
     80   1.4      matt #define tc_cfi_emit_pcrel_expr vax_cfi_emit_pcrel_expr
     81   1.4      matt extern void vax_cfi_emit_pcrel_expr (expressionS *, unsigned int);
     82   1.4      matt 
     83   1.4      matt #define DWARF2_LINE_MIN_INSN_LENGTH     1
     84   1.4      matt #define DWARF2_DEFAULT_RETURN_COLUMN    15
     85   1.4      matt #define DWARF2_CIE_DATA_ALIGNMENT       -4
     86