gdb: add target_ops::supports_displaced_step
[deliverable/binutils-gdb.git] / gas / write.h
index 4f510d6d5a5b83f53aa9011df64ef1eea876e6a2..b6132dd5f5238637d62d2f33b33bc913680c05b5 100644 (file)
@@ -1,5 +1,5 @@
 /* write.h
-   Copyright (C) 1987-2018 Free Software Foundation, Inc.
+   Copyright (C) 1987-2020 Free Software Foundation, Inc.
 
    This file is part of GAS, the GNU Assembler.
 
 #define FAKE_LABEL_CHAR '\001'
 #endif
 
-#include "bit_fix.h"
-
 /*
  * FixSs may be built up in any order.
  */
 
 struct fix
 {
+  /* Next fixS in linked list, or NULL.  */
+  struct fix *fx_next;
+
   /* These small fields are grouped together for compactness of
      this structure, and efficiency of access on some architectures.  */
 
   /* Is this a pc-relative relocation?  */
   unsigned fx_pcrel : 1;
 
-  /* Is this value an immediate displacement?  */
-  /* Only used on ns32k; merge it into TC_FIX_TYPE sometime.  */
-  unsigned fx_im_disp : 2;
-
-  /* Some bits for the CPU specific code.  */
-  unsigned fx_tcbit : 1;
-  unsigned fx_tcbit2 : 1;
-
   /* Has this relocation already been applied?  */
   unsigned fx_done : 1;
 
@@ -75,17 +68,26 @@ struct fix
   /* The value is signed when checking for overflow.  */
   unsigned fx_signed : 1;
 
+  /* Some bits for the CPU specific code.  */
+  unsigned fx_tcbit : 1;
+  unsigned fx_tcbit2 : 1;
+
+  /* Spare bits.  */
+  unsigned fx_unused : 10;
+
   /* pc-relative offset adjust (only used by some CPU specific code) */
-  signed char fx_pcrel_adjust;
+  int fx_pcrel_adjust : 8;
 
   /* How many bytes are involved? */
-  unsigned char fx_size;
+  unsigned fx_size : 8;
+
+  bfd_reloc_code_real_type fx_r_type;
 
   /* Which frag does this fix apply to?  */
   fragS *fx_frag;
 
-  /* Where is the first byte to fix up?  */
-  long fx_where;
+  /* The location within the frag where the fixup occurs.  */
+  unsigned long fx_where;
 
   /* NULL or Symbol whose value we add in.  */
   symbolS *fx_addsy;
@@ -102,14 +104,6 @@ struct fix
   /* The frag fx_dot_value is based on.  */
   fragS *fx_dot_frag;
 
-  /* Next fixS in linked list, or NULL.  */
-  struct fix *fx_next;
-
-  /* If NULL, no bitfix's to do.  */
-  bit_fixS *fx_bit_fixP;
-
-  bfd_reloc_code_real_type fx_r_type;
-
   /* This field is sort of misnamed.  It appears to be a sort of random
      scratch field, for use by the back ends.  The main gas code doesn't
      do anything but initialize it to zero.  The use of it does need to
@@ -183,15 +177,12 @@ extern long relax_frag (segT, fragS *, long);
 extern int relax_segment (struct frag *, segT, int);
 extern void number_to_chars_littleendian (char *, valueT, int);
 extern void number_to_chars_bigendian (char *, valueT, int);
-extern fixS *fix_new
-  (fragS * frag, int where, int size, symbolS * add_symbol,
-   offsetT offset, int pcrel, bfd_reloc_code_real_type r_type);
-extern fixS *fix_at_start
-  (fragS * frag, int size, symbolS * add_symbol,
-   offsetT offset, int pcrel, bfd_reloc_code_real_type r_type);
-extern fixS *fix_new_exp
-  (fragS * frag, int where, int size, expressionS *exp, int pcrel,
-   bfd_reloc_code_real_type r_type);
+extern fixS *fix_new (fragS *, unsigned long, unsigned long, symbolS *,
+                     offsetT, int, bfd_reloc_code_real_type);
+extern fixS *fix_at_start (fragS *, unsigned long, symbolS *,
+                          offsetT, int, bfd_reloc_code_real_type);
+extern fixS *fix_new_exp (fragS *, unsigned long, unsigned long,
+                         expressionS *, int, bfd_reloc_code_real_type);
 extern void write_print_statistics (FILE *);
 
 #endif /* __write_h__ */
This page took 0.029313 seconds and 4 git commands to generate.