gdb: add target_ops::supports_displaced_step
[deliverable/binutils-gdb.git] / gas / config / tc-vax.h
index b6791f7f5831379b6e91d3cbfec8f66081d24d3f..656cad33c395570d6b571065052face3b8beefa5 100644 (file)
@@ -1,11 +1,11 @@
 /* tc-vax.h -- Header file for tc-vax.c.
-   Copyright (C) 1987, 91, 92, 93, 95, 96, 1997 Free Software Foundation, Inc.
+   Copyright (C) 1987-2020 Free Software Foundation, Inc.
 
    This file is part of GAS, the GNU Assembler.
 
    GAS is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
-   the Free Software Foundation; either version 2, or (at your option)
+   the Free Software Foundation; either version 3, or (at your option)
    any later version.
 
    GAS is distributed in the hope that it will be useful,
 
    You should have received a copy of the GNU General Public License
    along with GAS; see the file COPYING.  If not, write to the Free
-   Software Foundation, 59 Temple Place - Suite 330, Boston, MA
-   02111-1307, USA. */
+   Software Foundation, 51 Franklin Street - Fifth Floor, Boston, MA
+   02110-1301, USA.  */
 
 #define TC_VAX 1
 
 #define TARGET_BYTES_BIG_ENDIAN 0
 
-#define NO_RELOC 0
-#define NOP_OPCODE 0x01
+#ifdef OBJ_AOUT
+#ifdef TE_NetBSD
+#define TARGET_FORMAT "a.out-vax-netbsd"
+#endif
+#ifndef TARGET_FORMAT
+#define TARGET_FORMAT "a.out-vax-bsd"
+#endif
+#endif
+
+#ifdef OBJ_VMS
+#define TARGET_FORMAT "vms-vax"
+#endif
+
+#ifdef OBJ_ELF
+#define TARGET_FORMAT "elf32-vax"
+#endif
+
+#define TARGET_ARCH    bfd_arch_vax
+
+#define NO_RELOC       BFD_RELOC_NONE
+#define NOP_OPCODE     0x01
 
-#define tc_aout_pre_write_hook(x)      {;}     /* not used */
-#define tc_crawl_symbol_chain(a)       {;}     /* not used */
-#define tc_headers_hook(a)             {;}     /* not used */
 #define md_operand(x)
 
-long md_chars_to_number PARAMS ((unsigned char *, int));
+#ifdef OBJ_ELF
+#define TC_PARSE_CONS_EXPRESSION(EXP, NBYTES) vax_cons (EXP, NBYTES)
+#define TC_CONS_FIX_NEW vax_cons_fix_new
+bfd_reloc_code_real_type vax_cons (expressionS *, int);
+void vax_cons_fix_new (struct frag *, int, unsigned int, struct expressionS *,
+                      bfd_reloc_code_real_type);
+#endif
 
 extern const struct relax_type md_relax_table[];
 #define TC_GENERIC_RELAX_TABLE md_relax_table
 
+/* Values passed to md_apply_fix don't include symbol values.  */
+#define MD_APPLY_SYM_VALUE(FIX) 0
+
+#define tc_fix_adjustable(FIX)                                 \
+       ((FIX)->fx_r_type != BFD_RELOC_VTABLE_INHERIT           \
+        && (FIX)->fx_r_type != BFD_RELOC_32_PLT_PCREL          \
+        && (FIX)->fx_r_type != BFD_RELOC_32_GOT_PCREL          \
+        && (FIX)->fx_r_type != BFD_RELOC_VTABLE_ENTRY          \
+        && ((FIX)->fx_pcrel                                    \
+            || ((FIX)->fx_subsy != NULL                        \
+                && (S_GET_SEGMENT ((FIX)->fx_subsy)            \
+                    == S_GET_SEGMENT ((FIX)->fx_addsy)))       \
+            || S_IS_LOCAL ((FIX)->fx_addsy)))
+
 /*
  * Local Variables:
  * comment-column: 0
  * fill-column: 131
  * End:
  */
-
-/* end of tc-vax.h */
This page took 0.039601 seconds and 4 git commands to generate.