(insns_since_cache_access): New static variable.
(md_begin): Set mips_cpu as well as mips_isa.
(append_insn): If mips_cpu is 4600, require four nop instructions
between an instruction which accesses the cache and certain CACHE
instructions. Keep track of the number of instructions seen since
an instruction which accesses the cache.
(md_parse_option): Set mips_cpu as well as mips_isa.
PR 5433.
(in_range): New function, tests whether a value can fit in an N-bit field.
(build_mem, build_operate_n): New functions for constructing opcode values.
(emit_sll_n, emit_ldah_num, emit_addq_r, emit_lda_n): New functions for
emitting single instructions, no longer requiring a recursive call to
md_assemble.
(emit_add64): New function for expanding a REG:=REG+CONST operation into
one or more instructions, to handle wide constants.
(clear_insn): New variable.
(md_begin): Fill it in with zeros and BFD_RELOC_NONE values.
(alpha_ip): Use it to initialize local variable insns.
(alpha_ip, label "immediate" and cases 'P', 'G'): Use emit_add64 for
calculations.
with native MIPS assembler.
* configure.in (mips-*-irix*): Don't set emulation.
* config/te-irix.h: Remove.
With these changes, gas works with mips-tfile.
haven't seen any input files yet.
* config/tc-alpha.c (md_begin): Just call symbol_create, rather
than calling symbol_new and then removing the symbol from the
list.
With these changes, Alpha gas will work with mips-tfile.
* as.c (main): Move a inside the #if 0 block which uses it.
* ecoff.c (current_stabs_filename): Make const.
* frags.h (frag_align_pattern): Declare.
* gasp.c (new_file): Cast isp to long, and use %ld to print it.
* config/tc-alpha.h (md_operand): Add cast to void.
(alpha_do_align): Declare argument types.
(tc_get_register): Declare.
(alpha_frob_ecoff_data): Declare.
* config/tc-alpha.c: Include <ctype.h>.
(s_mask): Don't declare; does not exist.
(line_comment_chars): Remove /* from descriptive comment.
(tc_get_register): Remove unused local reg.
(tc_gen_reloc): Don't bother to compare unsigned to zero.
(s_base): Correct warning to actually print register number.
(md_begin): Remove unused locals retval, lose, and i.
(alpha_fix_adjustable): Move default case inside switch to avoid
warning.
(load_symbol_address): Remove unused locals reloc_addr, p, sym,
and addend.
(emit_byte_manip_r): Declare types for all arguments.
(emit_extract_r, emit_insert_r, emit_mask_r): Likewise.
(emit_sign_extend, emit_bis_r, s_proc): Likewise.
(alpha_ip): Use sprint_value to print offsetT value. Remove
unused local size. Remove unused label get_macro.
(alpha_do_align): Make fill const.
(md_apply_fix): Remove unused label check_zov.
* config/te-ppcnw.h: New file to support Power-PC/Netware
configurations. Currently, it just enables the use of backslash
escapes in string directives.
(md_parse_option) [NO_V9]: Complain if v9 was selected.
(md_show_usage): Derive architecture list in usage message from
architecture_pname array.
(cypress): Macro deleted.
(op_hash): Don't initialize.
(s_common): Use bfd_und_section_ptr instead of bfd_und_section.
(BSR): New function.
(sparc_ip): Use it for right-shift operations of 32 bits or more.
(sparc_ip): Implement new operand type 'x'.
to tc-, obj-, and atof- files, use te-generic.h for emulation.
* mpw-make.in (VERSION): Define.
(as.c): Compile with GCC.
(TARG_OBJECTS, CLIBS): Define.
(as.new): Use LDFLAGS, TARG_OBJECTS, CLIBS and EXTRALIBS in link
command.
(config.h, config-stamp): Build.
config/ho-mpw.h (HOST_SPECIAL_INIT): Define.
* config/obj-vms.h (DBG_S_C_COMPLX4, DBG_S_C_COMPLX8): define
these new VMS symbol-type macros for `complex float' and
`complex double' support. Their values come from the existing
DSC$K_DTYPE_FC and DSC$K_DTYPE_DC macros in <descrip.h>.
(DBG_S_C_REAL8_G, DBG_S_C_COMPLX8_G): G_float versions of
REAL8 and COMPLX8; not used yet, because gcc outputs the same
.stabs for `double' regardless of whether `-mg' is used.
config/obj-vms.c (VMS_typedef_parse) [case 'r']: add entries
for gcc2's predefined types "complex float", "complex double",
and "complex long double" (identical to complex double).
* read.c (pseudo_set): Only preserve external bit for OBJ_AOUT and
OBJ_BOUT if not BFD_ASSEMBLER.
* config/aout_gnu.h (N_WEAKU, N_WEAKA, N_WEAKT, N_WEAKD, N_WEAKB):
Define as in ../include/aout/aout64.h.
* config/obj-aout.h (OBJ_SYMFIELD_TYPE): If not BFD_ASSEMBLER,
define as char.
(S_GET_WEAK, S_SET_WEAK): Define if not BFD_ASSEMBLER.
* config/obj-aout.c (obj_pseudo_table): Add "weak".
(obj_emit_symbols): Adjust type of weak symbols.
(obj_aout_weak): New static function.
(macro): Correct M_LI_SS SVR4_PIC/EMBEDDED_PIC case. After M_LI_D
or M_L_DOB or label dob, force a new frag to avoid getting
confused in tc_gen_reloc.
(mips_ip): Use RDATA_SECTION_NAME, not .rdata.
(s_change_sec): Likewise.
* config/tc-alpha.c (machine): New variable.
(load_insn): New macro.
(load_insn_table): New function.
(md_begin): Call load_insn_table, once for basic instructions and
once for appropriate PAL instruction table.
(md_parse_option): Set `machine' based on -m##### arguments.
* config/alpha-opcode.h (alpha_pal21064_opcodes): Split out from alpha_opcodes.
(alpha_pal21164_opcodes): New table.
(NUM21064OPCODES, NUM21164OPCODES): New macros.
throughout code.
(is_complex): Delete definition and support for complex relocation
types.
(tc_gen_reloc): Delete special unwind crud for ELF. Simplify and
rewrite ELF code based on 94-02-02 PA ELF draft spec.
(pa_build_unwind_subspace): Use standard PARISC_DIR32 relocs for
the unwind descriptors.