summaryrefslogtreecommitdiff
path: root/gas/subsegs.h
diff options
context:
space:
mode:
authorDimitry Andric <dim@FreeBSD.org>2010-10-30 23:02:32 +0000
committerDimitry Andric <dim@FreeBSD.org>2010-10-30 23:02:32 +0000
commitb3cded65e92ba4d9b5e5a33fb95c4d551bda9c1b (patch)
tree69d40fbef2c0c4ee32fe97b7a28b510f2e3c2dbc /gas/subsegs.h
parent7a815afd9b5121ee0f65dc1e1de1c0de6de97679 (diff)
Notes
Diffstat (limited to 'gas/subsegs.h')
-rw-r--r--gas/subsegs.h16
1 files changed, 9 insertions, 7 deletions
diff --git a/gas/subsegs.h b/gas/subsegs.h
index 23ab4f9cf48e3..54a5a6ab2cc67 100644
--- a/gas/subsegs.h
+++ b/gas/subsegs.h
@@ -1,6 +1,6 @@
/* subsegs.h -> subsegs.c
- Copyright 1987, 1992, 1993, 1994, 1995, 1996, 1998, 2000, 2003, 2005
- Free Software Foundation, Inc.
+ Copyright 1987, 1992, 1993, 1994, 1995, 1996, 1998, 2000, 2003, 2005,
+ 2006 Free Software Foundation, Inc.
This file is part of GAS, the GNU Assembler.
@@ -40,24 +40,23 @@
#include "obstack.h"
+struct frch_cfi_data;
+
struct frchain /* control building of a frag chain */
{ /* FRCH = FRagment CHain control */
struct frag *frch_root; /* 1st struct frag in chain, or NULL */
struct frag *frch_last; /* last struct frag in chain, or NULL */
struct frchain *frch_next; /* next in chain of struct frchain-s */
- segT frch_seg; /* SEG_TEXT or SEG_DATA. */
subsegT frch_subseg; /* subsegment number of this chain */
fixS *fix_root; /* Root of fixups for this subsegment. */
fixS *fix_tail; /* Last fixup for this subsegment. */
struct obstack frch_obstack; /* for objects in this frag chain */
fragS *frch_frag_now; /* frag_now for this subsegment */
+ struct frch_cfi_data *frch_cfi_data;
};
typedef struct frchain frchainS;
-/* All subsegments' chains hang off here. NULL means no frchains yet. */
-extern frchainS *frchain_root;
-
/* Frchain we are assembling into now. That is, the current segment's
frag chain, even if it contains no (complete) frags. */
extern frchainS *frchain_now;
@@ -109,7 +108,10 @@ typedef struct segment_info_struct {
#endif
} segment_info_type;
-extern segment_info_type *seg_info (segT);
+
+#define seg_info(sec) \
+ ((segment_info_type *) bfd_get_section_userdata (stdoutput, sec))
+
extern symbolS *section_symbol (segT);
extern void subsegs_print_statistics (FILE *);