* config/te-aix5.h: Typo fix.
[deliverable/binutils-gdb.git] / gas / frags.h
index 877074b8dab79ac4710aa363703d7116da67706b..df259b8fe5583dcb779154766f801bd788106d7c 100644 (file)
@@ -1,5 +1,5 @@
 /* frags.h - Header file for the frag concept.
-   Copyright (C) 1987, 92, 93, 94, 95, 97, 98, 99, 2000
+   Copyright 1987, 1992, 1993, 1994, 1995, 1997, 1998, 1999, 2000, 2001
    Free Software Foundation, Inc.
 
    This file is part of GAS, the GNU Assembler.
@@ -43,8 +43,9 @@ struct obstack;
 struct frag {
   /* Object file address (as an octet offset).  */
   addressT fr_address;
-  /* Chain forward; ascending address order.  Rooted in frch_root.  */
-  struct frag *fr_next;
+  /* When relaxing multiple times, remember the address the frag had
+     in the last relax pass.  */
+  addressT last_fr_address;
 
   /* (Fixed) number of octets we know we have.  May be 0.  */
   offsetT fr_fix;
@@ -52,16 +53,27 @@ struct frag {
      The generic frag handling code no longer makes any use of fr_var.  */
   offsetT fr_var;
   /* For variable-length tail.  */
-  symbolS *fr_symbol;
-  /* For variable-length tail.  */
   offsetT fr_offset;
+  /* For variable-length tail.  */
+  symbolS *fr_symbol;
   /* Points to opcode low addr byte, for relaxation.  */
   char *fr_opcode;
 
+  /* Chain forward; ascending address order.  Rooted in frch_root.  */
+  struct frag *fr_next;
+
+  /* Where the frag was created, or where it became a variant frag.  */
+  char *fr_file;
+  unsigned int fr_line;
+
 #ifndef NO_LISTING
   struct list_info_struct *line;
 #endif
 
+  /* Flipped each relax pass so we can easily determine whether
+     fr_address has been adjusted.  */
+  unsigned int relax_marker:1;
+
   /* What state is my tail in? */
   relax_stateT fr_type;
   relax_substateT fr_subtype;
@@ -82,10 +94,6 @@ struct frag {
   TC_FRAG_TYPE tc_frag_data;
 #endif
 
-  /* Where the frag was created, or where it became a variant frag.  */
-  char *fr_file;
-  unsigned int fr_line;
-
   /* Data begins here.  */
   char fr_literal[1];
 };
@@ -132,6 +140,7 @@ void frag_align_pattern PARAMS ((int alignment,
                                 const char *fill_pattern,
                                 int n_fill,
                                 int max));
+void frag_align_code PARAMS ((int alignment, int max));
 void frag_new PARAMS ((int old_frags_var_max_size));
 void frag_wane PARAMS ((fragS * fragP));
 
This page took 0.023885 seconds and 4 git commands to generate.