forked from Imagelibrary/binutils-gdb
* 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.
This commit is contained in:
13
gas/as.h
13
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 */
|
||||
|
||||
Reference in New Issue
Block a user