1 /* tc-vax.h -- Header file for tc-vax.c. 2 Copyright (C) 1987-2014 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 the Free 18 Software Foundation, 51 Franklin Street - Fifth Floor, Boston, MA 19 02110-1301, USA. */ 20 21 #define TC_VAX 1 22 23 #define TARGET_BYTES_BIG_ENDIAN 0 24 25 #ifdef OBJ_AOUT 26 #ifdef TE_NetBSD 27 #define TARGET_FORMAT "a.out-vax-netbsd" 28 #endif 29 #ifndef TARGET_FORMAT 30 #define TARGET_FORMAT "a.out-vax-bsd" 31 #endif 32 #endif 33 34 #ifdef OBJ_VMS 35 #define TARGET_FORMAT "vms-vax" 36 #endif 37 38 #ifdef OBJ_ELF 39 #define TARGET_FORMAT "elf32-vax" 40 #endif 41 42 #define TARGET_ARCH bfd_arch_vax 43 44 #define NO_RELOC BFD_RELOC_NONE 45 #define NOP_OPCODE 0x01 46 47 #define md_operand(x) 48 49 #ifdef OBJ_ELF 50 #define TC_PARSE_CONS_EXPRESSION(EXP, NBYTES) vax_cons (EXP, NBYTES) 51 #define TC_CONS_FIX_NEW vax_cons_fix_new 52 bfd_reloc_code_real_type vax_cons (expressionS *, int); 53 void vax_cons_fix_new (struct frag *, int, unsigned int, struct expressionS *, 54 bfd_reloc_code_real_type); 55 #endif 56 57 extern const struct relax_type md_relax_table[]; 58 #define TC_GENERIC_RELAX_TABLE md_relax_table 59 60 /* Values passed to md_apply_fix don't include symbol values. */ 61 #define MD_APPLY_SYM_VALUE(FIX) 0 62 63 #define tc_fix_adjustable(FIX) \ 64 ((FIX)->fx_r_type != BFD_RELOC_VTABLE_INHERIT \ 65 && (FIX)->fx_r_type != BFD_RELOC_32_PLT_PCREL \ 66 && (FIX)->fx_r_type != BFD_RELOC_32_GOT_PCREL \ 67 && (FIX)->fx_r_type != BFD_RELOC_VTABLE_ENTRY \ 68 && ((FIX)->fx_pcrel \ 69 || ((FIX)->fx_subsy != NULL \ 70 && (S_GET_SEGMENT ((FIX)->fx_subsy) \ 71 == S_GET_SEGMENT ((FIX)->fx_addsy))) \ 72 || S_IS_LOCAL ((FIX)->fx_addsy))) 73 74 /* 75 * Local Variables: 76 * comment-column: 0 77 * fill-column: 131 78 * End: 79 */ 80