* 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:
Ian Lance Taylor
1998-02-06 03:42:05 +00:00
parent 44d33d559e
commit ffd652c313
9 changed files with 435 additions and 8 deletions

View File

@@ -1,5 +1,5 @@
/* as.c - GAS main program.
Copyright (C) 1987, 90, 91, 92, 93, 94, 95, 96, 1997
Copyright (C) 1987, 90, 91, 92, 93, 94, 95, 96, 97, 1998
Free Software Foundation, Inc.
This file is part of GAS, the GNU Assembler.
@@ -159,6 +159,7 @@ Options:\n\
-R fold data section into text section\n\
--statistics print various measured statistics from execution\n\
--strip-local-absolute strip local absolute symbols\n\
--traditional-format Use same format as native assembler when possible\n\
--version print assembler version number and exit\n\
-W suppress warnings\n\
--itbl INSTTBL extend instruction set to include instructions\n\
@@ -356,7 +357,9 @@ parse_args (pargc, pargv)
#define OPTION_GSTABS (OPTION_STD_BASE + 14)
{"gstabs", no_argument, NULL, OPTION_GSTABS},
#define OPTION_STRIP_LOCAL_ABSOLUTE (OPTION_STD_BASE + 15)
{"strip-local-absolute", no_argument, NULL, OPTION_STRIP_LOCAL_ABSOLUTE}
{"strip-local-absolute", no_argument, NULL, OPTION_STRIP_LOCAL_ABSOLUTE},
#define OPTION_TRADITIONAL_FORMAT (OPTION_STD_BASE + 16)
{"traditional-format", no_argument, NULL, OPTION_TRADITIONAL_FORMAT}
};
/* Construct the option lists from the standard list and the
@@ -441,6 +444,10 @@ parse_args (pargc, pargv)
flag_strip_local_absolute = 1;
break;
case OPTION_TRADITIONAL_FORMAT:
flag_traditional_format = 1;
break;
case OPTION_VERSION:
/* This output is intended to follow the GNU standards document. */
printf ("GNU assembler %s\n", VERSION);