(mips_opts): New static variable.
(mips_isa): Remove. Now a field in mips_opts. Change all
references.
(mips16, mips16_autoextend, mips_warn_about_macros): Likewise.
(mips_noreorder, mips_nomove, mips_noat, mips_nobopt): Likewise.
(struct mips_option_stack): Define.
(mips_opts_stack): New static variable.
(s_mipsset): Add support for .set push and .set pop.
* doc/c-mips.texi: Document .set push and .set pop.
callers.
(listing_listing): Only call calc_hex for the right line.
(listing_list): Set the new edict based on the current edict, in
order to handle listing commands in macros correctly.
* config/tc-d30v.c (md_assemble): If two instructions
are supposed to be assembled in parallel and the first one is
long, print an error and stop.
(md_apply_fix3): Don't calculate absolute relocs. Just write
them out.
OBJ_ECOFF.
(alpha_frob_file_before_adjust): Declare if OBJ_ECOFF.
* config/tc-alpha.c (alpha_debug): New static variable.
(md_parse_option): Set alpha_debug if -g is seen.
(alpha_frob_file_before_adjust): New function if OBJ_ECOFF.
AC_LINK_FILES. Substitute te_file. Create targ-cpu.h,
obj-format.h, targ-env.h, and itbl-cpu.h in AC_OUTPUT.
* configure: Rebuild.
* Makefile.in (TARG_CPU_C): New variable.
(TARG_CPU_O, TARG_CPU_H): New variables.
(OBJ_FORMAT_C, OBJ_FORMAT_O, OBJ_FORMAT_H): New variables.
(TARG_ENV_H, ATOF_TARG_C, ATOF_TARG_O): New variables.
(SOURCES): Rename from REAL_SOURCES. Delete old definition.
(LINKED_SOURCES): Remove.
(HEADERS): Rename from REAL_HEADERS. Delete old definition.
(LINKED_HEADERS): Remove.
(OBJS): Use $(TARG_CPU_O), etc., rather than targ-cpu.o, etc.
($(OBJS)): Depend upon $(TARG_ENV_H), etc., rather than
targ-cpu.h, etc.
($(TARG_CPU_O), $(OBJ_FORMAT_O) $(ATOF_TARG_O)): New targets.
(targ-cpu.o, obj-format.o, atof-targ.o): Remove targets.
(itbl-cpu.h): Remove target.
(DISTCLEAN_HERE): Remove targ-cpu.c, obj-format.c, atof-targ.c,
atof-targ.h.
* frags.c (frag_var): Change offset parameter to offsetT.
(frag_variant): Likewise.
* frags.h (frag_variant, frag_var): Update declarations.
* config/tc-m68k.c (struct m68k_it): Change foff field to
offsetT.
(add_frag): Change off parameter to offsetT.
* Several files: Add casts to calls to frag_var.
* config/te-delta.h (COFF_COMMON_ADDEND): Define.
* config/obj-coff.c (fixup_segment): Check COFF_COMMON_ADDEND when
storing the value of a common symbol.
* config/obj-coff.c (glue_symbols): Unused variable symbolP
removed.
(crawl_symbols): Do not modify symbol_rootP and symbol_lastP here;
that is done by symbol_remove and symbol_insert.
* config/obj-coff.h (S_IS_LOCAL): Return 0 for a debugging
symbol.
(symbol_append): Set sy_next and sy_previous when adding a single
symbol to an empty list. Call debug_verify_symchain.
(verify_symbol_chain): Use assert, not know.
ELF or COFF, you are permitted to switch into the section.
(Comm): Rewrite description of common symbols.
(Lcomm): Mention that some targets permit a third argument.
* config/obj-elf.h (struct elf_obj_sy): Define.
(OBJ_SYMFIELD_TYPE): Define to elf_obj_sy struct. Change all
users.
* config/obj-elf.c (obj_elf_symver): Just record the name.
(obj_symbol_new_hook): Initialized versioned_name field.
(elf_frob_symbol): If there is a versioned_name, either rename the
symbol, or add an alias with that name.
(md_convert_frag): Implement.
(md_assemble): Handle relaxable operands/instructions correctly.
(md_estimate_size_before_relax): Implement.
* config/tc-mn10300.h (TC_GENERIC_RELAX_TABLE): Define.
Branch relaxing for the mn10300. Reduces the code size of our libraries by
about 11%.
message, and add newline.
(process_file): Don't process assignments in the label if this is
a equ or assign pseudo-op.
(process_pseudo_op): Swap first argument to do_assign for K_ASSIGN
and K_EQU, to match documentation.
* config/tc-m68k.c (instring): Useless local declaration of
crack_operand removed.
* expr.h (expressionS): Changed type of X_op field to operatorT if
__GNUC__.
* config/tc-i960.h (TC_SYMFIELD_TYPE): Define if OBJ_COFF.
(_tc_get_bal_of_call): Don't declare.
(tc_get_bal_of_call): Declare as function, don't define as macro.
* config/tc-i960.c (tc_set_bal_of_call): If OBJ_COFF, store balP
in sy_tc field, not x_balntry field.
(tc_get_bal_of_call): Rename from _tc_get_bal_of_call. Change
return type to symbolS *. If OBJ_COFF, retrieve value from sy_tc
field, not x_balntry field.
(TARG_CPU_DEP_mips): Depend upon $(srcdir)/itbl-ops.h.
(itbl-lex.o): Depend upon itbl-parse.h.
* itbl-parse.y (yyerror): Change return type to int. Change to
use old style function declaration.
call listing_list.
(s_if, s_ifc, s_endif, s_else, s_ifeqs): Likewise.
* listing.c (list_info_struct): Add EDICT_NOLIST_NEXT.
(listing_listing): Handle EDICT_NOLIST_NEXT.
(listing_list): An argument of 2 means EDICT_NOLIST_NEXT.
* listing.h (LISTING_NOCOND): Define.
(LISTING_SKIP_COND): Define.
* as.c (show_usage): Mention c as a suboption of -a.
(parse_args): Handle c as a suboption of -a.
* doc/as.texinfo: Document -alc.
start-sanitize-tic80
* config/tc-tic80.c (md_pseudo_table): Add entry for bss, which takes
an additional alignment argument.
(find_opcode): Allow O_symbol relocs for any 32 bit field, not just
base relative ones.
(build_insn): Handle O_symbol relocs for any 32 bit field, not just
base relative ones.
end-sanitize-tic80
* configure, configure.in: Move itbl-cpu.h to mips specific configure.
* itbl-ops.h: Include itbl-cpu.h only if HAVE_ITBL_CPU is defined.
* config/tc-mips.h: Define HAVE_ITBL_CPU.
* itbl-lex.l: Fix indentation mistakes from indent program.
* itbl-ops.h: Add include for ansidecl.h.
Add PARAMS around function arguments.
Add declaration for itbl_have_entries.
* itbl-ops.c: Add PARAMS around function arguments.
* Makefile.in: Add itbl build rules.
Add dependancies for itbl files to mips target.
* as.c: Add itbl support.
Add new option "--insttbl" for dynamically extending instruction set.
* as.h: Declare insttbl_file_name;
the name of file defining extensions to the basic instruction set
* configure.in, configure: Add itbl-parse.o, itbl-lex.o, and
itbl-ops.o to extra_objects for mips configuration.
Add include file link from itbl-cpu.h to
config/itbl-${target_cpu_type}.h.
* config/tc-mips.c: Allow copz instructions.
Add notes for future additions to the itbl support.
Add debug macros.
(macro): Call itbl_assemble to assemble itbl instructions.
See if an unknown register is specified in an itbl entry.