diff options
author | David MacKenzie <djm@cygnus> | 1994-06-03 20:59:20 +0000 |
---|---|---|
committer | David MacKenzie <djm@cygnus> | 1994-06-03 20:59:20 +0000 |
commit | def66e248c4dff4e2d5095a9a7739a06adf3fa78 (patch) | |
tree | a9805265c3579ce5aaeba3e7316412b15dbfa314 /gas/write.c | |
parent | 26997f44ba11f70b8420b8f0da1e64dbaf31edd0 (diff) | |
download | gdb-def66e248c4dff4e2d5095a9a7739a06adf3fa78.zip gdb-def66e248c4dff4e2d5095a9a7739a06adf3fa78.tar.gz gdb-def66e248c4dff4e2d5095a9a7739a06adf3fa78.tar.bz2 |
* as.h: Replace flagseen with separate variables.
* as.c (parse_args): Set them. Don't accept -1 option, or -v
explicitly (it's a synonym for --version).
* as.c, input-scrub.c, messages.c, read.c, symbols.c, write.c,
config/obj-aout.c, config/obj-aout.h, config/obj-bout.c,
config/obj-bout.h, config/obj-coff.c, config/obj-coff.h,
config/obj-vms.c, config/tc-hppa.c, config/tc-i386.c,
config/tc-i960.c, config/tc-m68k.c, config/tc-mips.c,
config/tc-vax.c: Use the new flag variables instead of flagseen.
* config/tc-vax.c [OBJ_VMS]: Recognize -+, -1, -v, and document in
usage.
Diffstat (limited to 'gas/write.c')
-rw-r--r-- | gas/write.c | 22 |
1 files changed, 14 insertions, 8 deletions
diff --git a/gas/write.c b/gas/write.c index 000e790..7964934 100644 --- a/gas/write.c +++ b/gas/write.c @@ -1042,7 +1042,7 @@ write_object_file () n_errs = had_errors (); /* The -Z flag indicates that an object file should be generated, regardless of warnings and errors. */ - if (flagseen['Z']) + if (flag_always_generate_output) { if (n_warns || n_errs) as_warn ("%d error%s, %d warning%s, generating bad object file.\n", @@ -1128,7 +1128,7 @@ write_object_file () data frags into the text segment. Do this before relaxing so we know to take advantage of -R and make shorter addresses. */ #if !defined (OBJ_AOUT) || defined (BFD_ASSEMBLER) - if (flagseen['R']) + if (flag_readonly_data_in_text) { merge_data_into_text (); } @@ -1485,6 +1485,16 @@ write_object_file () } } + /* Now do any format-specific adjustments to the symbol table, such + as adding file symbols. */ +#ifdef obj_adjust_symtab + obj_adjust_symtab (); +#endif + + /* Now that all the sizes are known, and contents correct, we can + start writing to the file. */ + set_symtab (); + /* If *_frob_file changes the symbol value at this point, it is responsible for moving the changed value into symp->bsym->value as well. Hopefully all symbol value changing can be done in @@ -1496,10 +1506,6 @@ write_object_file () obj_frob_file (); #endif - /* Now that all the sizes are known, and contents correct, we can - start writing to the file. */ - set_symtab (); - bfd_map_over_sections (stdoutput, write_relocs, (char *) 0); bfd_map_over_sections (stdoutput, write_contents, (char *) 0); @@ -1679,7 +1685,7 @@ relax_segment (segment_frag_root, segment) + S_GET_VALUE (lie->sub))); if (offset <= -32768 || offset >= 32767) { - if (flagseen['K']) + if (flag_warn_displacement) { char buf[50]; sprint_value (buf, (addressT) lie->addnum); @@ -2161,7 +2167,7 @@ fixup_segment (fixP, this_segment_type) /* Warn if a .word value is too large when treated as a signed number. We already know it is not too negative. This is to catch over-large switches generated by gcc on the 68k. */ - if (!flagseen['J'] + if (!flag_signed_overflow_ok && size == 2 && add_number > 0x7fff) as_bad_where (fixP->fx_file, fixP->fx_line, |