aboutsummaryrefslogtreecommitdiff
path: root/gas/as.h
diff options
context:
space:
mode:
authorIan Lance Taylor <ian@airs.com>1998-02-06 03:42:05 +0000
committerIan Lance Taylor <ian@airs.com>1998-02-06 03:42:05 +0000
commitffd652c31307010b25c9a137a8ecff9773e4253a (patch)
tree8fef2a917597f0275116f0638ae9633667429cba /gas/as.h
parent44d33d559e6557e9ed7a3570c131e0196a25f78a (diff)
downloadgdb-ffd652c31307010b25c9a137a8ecff9773e4253a.zip
gdb-ffd652c31307010b25c9a137a8ecff9773e4253a.tar.gz
gdb-ffd652c31307010b25c9a137a8ecff9773e4253a.tar.bz2
* ehopt.c: New file.
* as.h (enum _relax_state): Add rs_cfa. (check_eh_frame, eh_frame_estimate_size_before_relax): Declare. (eh_frame_relax_frag, eh_frame_convert_frag): Declare. * read.c (emit_expr): Call check_eh_frame. * write.c (cvt_frag_to_fill): Handle rs_cfa. (relax_segment): Likewise. * Makefile.am: Rebuild dependencies. (GAS_CFILES): Add ehopt.c. (GENERIC_OBJS): Add ehopt.o. * doc/internals.texi (Frags): Document rs_cfa. * as.c (show_usage): Mention --traditional-format. (parse_args): Accept --traditional-format. * as.h (flag_traditional_format): Declare. * output-file.c (output_file_create): If flag_traditional_format, set BFD_TRADITIONAL_FORMAT on stdoutput. * doc/as.texinfo, doc/as.1: Document --traditional-format.
Diffstat (limited to 'gas/as.h')
-rw-r--r--gas/as.h13
1 files changed, 12 insertions, 1 deletions
diff --git a/gas/as.h b/gas/as.h
index d86e8bf..8dfbe3c 100644
--- a/gas/as.h
+++ b/gas/as.h
@@ -381,7 +381,10 @@ enum _relax_state
/* A DWARF leb128 value; only ELF uses this. The subtype is 0 for
unsigned, 1 for signed. */
- rs_leb128
+ rs_leb128,
+
+ /* Exception frame information which we may be able to optimize. */
+ rs_cfa
};
typedef enum _relax_state relax_stateT;
@@ -432,6 +435,9 @@ COMMON unsigned char flag_print_statistics;
/* True if local absolute symbols are to be stripped. */
COMMON int flag_strip_local_absolute;
+/* True if we should generate a traditional format object file. */
+COMMON int flag_traditional_format;
+
/* name of emitted object file */
COMMON char *out_file_name;
@@ -585,6 +591,11 @@ typedef struct frag fragS;
valueT add_to_literal_pool PARAMS ((struct symbol *, valueT, segT, int));
#endif
+int check_eh_frame PARAMS ((struct expressionS *, unsigned int *));
+int eh_frame_estimate_size_before_relax PARAMS ((fragS *));
+int eh_frame_relax_frag PARAMS ((fragS *));
+void eh_frame_convert_frag PARAMS ((fragS *));
+
#include "expr.h" /* Before targ-*.h */
/* this one starts the chain of target dependant headers */