aboutsummaryrefslogtreecommitdiff
path: root/gas/frags.h
diff options
context:
space:
mode:
authorK. Richard Pixley <rich@cygnus>1991-04-04 18:19:53 +0000
committerK. Richard Pixley <rich@cygnus>1991-04-04 18:19:53 +0000
commitfecd2382e77b89f12c9d630ed4e42e9a54ba6953 (patch)
tree6cddf76f492c3485605175c97c13d9a24c65306f /gas/frags.h
parentb6fc45ca4c306a4f6f6bdbaf90a69d3dab62777a (diff)
downloadfsf-binutils-gdb-fecd2382e77b89f12c9d630ed4e42e9a54ba6953.zip
fsf-binutils-gdb-fecd2382e77b89f12c9d630ed4e42e9a54ba6953.tar.gz
fsf-binutils-gdb-fecd2382e77b89f12c9d630ed4e42e9a54ba6953.tar.bz2
Initial revision
Diffstat (limited to 'gas/frags.h')
-rw-r--r--gas/frags.h84
1 files changed, 84 insertions, 0 deletions
diff --git a/gas/frags.h b/gas/frags.h
new file mode 100644
index 0000000..aa08995
--- /dev/null
+++ b/gas/frags.h
@@ -0,0 +1,84 @@
+/* frags.h - Header file for the frag concept.
+ Copyright (C) 1987 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 1, or (at your option)
+any later version.
+
+GAS is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+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, 675 Mass Ave, Cambridge, MA 02139, USA. */
+
+extern struct obstack frags;
+ /* Frags ONLY live in this obstack. */
+ /* We use obstack_next_free() macro */
+ /* so please don't put any other objects */
+ /* on this stack! */
+
+/*
+ * A macro to speed up appending exactly 1 char
+ * to current frag.
+ */
+/* JF changed < 1 to <= 1 to avoid a race conditon */
+#define FRAG_APPEND_1_CHAR(datum) \
+{ \
+ if (obstack_room( &frags ) <= 1) {\
+ frag_wane (frag_now); \
+ frag_new (0); \
+ } \
+ obstack_1grow( &frags, datum ); \
+}
+
+
+#ifdef __STDC__
+
+char *frag_more(int nchars);
+void frag_align(int alignment, int fill_character);
+void frag_new(int old_frags_var_max_size);
+void frag_wane(fragS *fragP);
+
+char *frag_variant(relax_stateT type,
+ int max_chars,
+ int var,
+ relax_substateT subtype,
+ symbolS *symbol,
+ long offset,
+ char *opcode,
+ int pcrel_adjust,
+ int bsr);
+
+char *frag_var(relax_stateT type,
+ int max_chars,
+ int var,
+ relax_substateT subtype,
+ symbolS *symbol,
+ long offset,
+ char *opcode);
+
+#else /* __STDC__ */
+
+char *frag_more();
+char *frag_var();
+char *frag_variant();
+void frag_align();
+void frag_new();
+void frag_wane();
+
+#endif /* __STDC__ */
+
+/*
+ * Local Variables:
+ * comment-column: 0
+ * fill-column: 131
+ * End:
+ */
+
+/* end: frags.h */