Sun Aug 28 13:22:52 1994 Ken Raeburn (raeburn@rtl.cygnus.com)
+ * as.h (flag_*): Added comments describing meanings of some of
+ these variables.
+ (struct frag): Add some comments about the ns32k-specific fields
+ and why they're here.
+ (SIZEOF_STRUCT_FRAG): Cast addresses to char*, not int.
+ (flag_print_statistics): Declare.
+
+ * as.c (parse_args): Set flag_print_statistics instead of
+ statistics_flag. Options array is now const. Added new option
+ "dump-config"; if specified, print TARGET_ALIAS, TARGET_CANONICAL,
+ TARGET_CPU, TARGET_OBJ_FORMAT, and TARGET_FORMAT, if defined.
+ (main): Change test to check flag_print_statistics.
+ (statistics_flag): Deleted.
+
* frags.c (frag_variant): Removed PCREL_ADJUST and BSR arguments.
Always initialize them to zero.
* frags.h (frag_variant): Fixed prototype.
relax_stateT fr_type;
relax_substateT fr_subtype;
- /* These are needed only on the NS32K machines */
- char fr_pcrel_adjust;
- char fr_bsr;
+ /* These are needed only on the NS32K machines. But since we don't
+ include targ-cpu.h until after this structure has been defined,
+ we can't really conditionalize it. This code should be
+ rearranged a bit to make that possible.
- /* Chars begin here.
- One day we will compile fr_literal[0]. */
+ In the meantime, if we get stuck like this with any other target,
+ create a union here. */
+ char fr_pcrel_adjust, fr_bsr;
+
+ /* Data begins here. */
char fr_literal[1];
};
#define SIZEOF_STRUCT_FRAG \
-((int)zero_address_frag.fr_literal-(int)&zero_address_frag)
+((char *)zero_address_frag.fr_literal-(char *)&zero_address_frag)
/* We want to say fr_literal[0] above. */
typedef struct frag fragS;
COMMON unsigned char flag_debug; /* -D */
COMMON unsigned char flag_signed_overflow_ok; /* -J */
COMMON unsigned char flag_warn_displacement; /* -K */
+
+/* True if local symbols should be retained. */
COMMON unsigned char flag_keep_locals; /* -L */
+
+/* Should the data section be made read-only and appended to the text
+ section? */
COMMON unsigned char flag_readonly_data_in_text; /* -R */
+
+/* True if warnings should be inhibited. */
COMMON unsigned char flag_no_warnings; /* -W */
+
+/* True if we should attempt to generate output even if non-fatal errors
+ are detected. */
COMMON unsigned char flag_always_generate_output; /* -Z */
+/* This is true if the assembler should output time and space usage. */
+
+COMMON unsigned char flag_print_statistics;
+
/* name of emitted object file */
COMMON char *out_file_name;