Merge branch 'master' into merge-job
[deliverable/binutils-gdb.git] / gas / config / tc-ns32k.h
index 30f7cc1ac5c3eb9f0e5f11d1448917be528cc440..c32e7c574a45f191d1be1d5bfac6b4abad3a53fc 100644 (file)
@@ -1,12 +1,11 @@
 /* tc-ns32k.h -- Opcode table for National Semi 32k processor
-   Copyright 1987, 1992, 1993, 1994, 1995, 1997, 2000, 2002, 2005
-   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,
@@ -26,7 +25,6 @@
 #define TC_PCREL_ADJUST(F) md_pcrel_adjust(F)
 extern int md_pcrel_adjust (fragS *);
 
-#ifdef BFD_ASSEMBLER
 #define NO_RELOC BFD_RELOC_NONE
 
 #define TARGET_ARCH            bfd_arch_ns32k
@@ -34,18 +32,11 @@ extern int md_pcrel_adjust (fragS *);
 #ifndef TARGET_FORMAT          /* Maybe defined in te-*.h.  */
 #define TARGET_FORMAT          "a.out-pc532-mach"
 #endif
-#else
-#define NO_RELOC 0
-#endif
 
 #define LOCAL_LABELS_FB 1
 
 #include "bit_fix.h"
 
-#define tc_aout_pre_write_hook(x)      {;}     /* not used */
-#define tc_crawl_symbol_chain(a)       {;}     /* not used */
-#define tc_headers_hook(a)             {;}     /* not used */
-
 #ifdef SEQUENT_COMPATABILITY
 #define DEF_MODEC 20
 #define DEF_MODEL 21
@@ -63,7 +54,8 @@ extern int md_pcrel_adjust (fragS *);
 #define ARG_LEN 50
 
 #define TC_CONS_FIX_NEW cons_fix_new_ns32k
-extern void cons_fix_new_ns32k (fragS *, int, int, expressionS *);
+extern void cons_fix_new_ns32k (fragS *, int, int, expressionS *,
+                               bfd_reloc_code_real_type);
 
 /* The NS32x32 has a non 0 nop instruction which should be used in aligns.  */
 #define NOP_OPCODE 0xa2
@@ -81,7 +73,7 @@ extern const struct relax_type md_relax_table[];
       char         fr_bsr;                     \
     }
 
-#define TC_FRAG_INIT(X)                                \
+#define TC_FRAG_INIT(X, MAX_BYTES)             \
   do                                           \
      {                                         \
        frag_opcode_frag (X) = NULL;            \
@@ -99,14 +91,16 @@ extern const struct relax_type md_relax_table[];
   struct                                       \
     {                                          \
       fragS *      opcode_fragP;               \
+      bit_fixS *   fx_bit_fixP;                        \
       unsigned int opcode_offset;              \
       unsigned int bsr : 1;                    \
+      unsigned int fx_im_disp : 2;             \
     }
 
 /* Accessor macros for things which may move around.
    See comments in write.h.  */
-#define fix_im_disp(X)       (X)->fx_im_disp
-#define fix_bit_fixP(X)      (X)->fx_bit_fixP
+#define fix_im_disp(X)       (X)->tc_fix_data.fx_im_disp
+#define fix_bit_fixP(X)      (X)->tc_fix_data.fx_bit_fixP
 #define fix_opcode_frag(X)   (X)->tc_fix_data.opcode_fragP
 #define fix_opcode_offset(X) (X)->tc_fix_data.opcode_offset
 #define fix_bsr(X)           (X)->tc_fix_data.bsr
@@ -116,16 +110,20 @@ extern const struct relax_type md_relax_table[];
      {                                         \
        fix_opcode_frag(X) = NULL;              \
        fix_opcode_offset(X) = 0;               \
+       fix_bit_fixP(X) = NULL;                 \
        fix_bsr(X) = 0;                         \
+       fix_im_disp(X) = 0;                     \
      }                                         \
   while (0)
 
 #define TC_FIX_DATA_PRINT(FILE, FIX)                                   \
   do                                                                   \
     {                                                                  \
-      fprintf ((FILE), "opcode_frag=%ld, operand offset=%d, bsr=%d\n", \
-             (unsigned long) fix_opcode_frag (FIX),                    \
-             fix_opcode_offset (FIX),                                  \
-             fix_bsr (FIX));                                           \
+      fprintf ((FILE), "opcode_frag=%ld, operand offset=%d, bsr=%d, "  \
+              "im_disp=%d\n",                                          \
+              (unsigned long) fix_opcode_frag (FIX),                   \
+              fix_opcode_offset (FIX),                                 \
+              fix_bsr (FIX),                                           \
+              fix_im_disp (FIX));                                      \
     }                                                                  \
   while (0)
This page took 0.025022 seconds and 4 git commands to generate.