+
+ * config/tc-sh.h (tc_init_after_args): Don't define.
+ * config/tc-sh.c (md_begin): Remove unused variable table.
+ (md_assemble): Remove unused variable p.
+ (md_convert_frag): Cast fr_address to unsigned long for printf.
+ (md_apply_fix): Use as_warn_where rather than as_warn.
+ (sh_init_after_args): Remove empty function.
+
+ * configure.in (i386-*-gnu*elf*): New target.
+
+
+ * hash.c (hash_ask): If we find the slot after wrapping around,
+ break out of the loop. Fixes bug in Jan 18 change.
+
+
+ * hash.c (hash_code): Undo last change.
+
+
+ * config/tc-alpha.c (alpha_ip): Initialize local variables to keep
+ gcc quiet.
+ (gpdisp_hi16_howto): Don't use "const" with reloc_howto_type.
+ (in_range_signed): Add parens around subtraction inside shift.
+ * gasp.c (do_data): Initialize local variable "opname".
+ (istrue): Provide a default case to set "res" and keep "gcc -Wall"
+ quiet.
+ * write.c (write_contents): Deleted unused variable.
+ (print_symbol_value_1): Declare.
+ * hash.c (hash_ask): Delete disabled non-strcmp version of the
+ code, and automatic variables used only in those sections.
+ * write.c (chain_frchains_together_1): Only define local variable
+ "prev_fix" if BFD_ASSEMBLER.
+ * flonum-konst.c (dummy1): Return void.
+ * config/tc-vax.c (md_assemble): Remove two comparisons of
+ unsigned numbers versus zero.
+ * as.h (bcopy): If neither memcpy nor bcopy is defined as a macro,
+ define to use memcpy.
+
+ * config/tc-alpha.c, config/alpha-opcode.h: Revert 2 June changes.
+ Turns out we never got the assignment done after all.
+
+ Cleanup of VAX and VMS code, from Pat Rankin:
+ * config/obj-vms.c: Changed exported function names to lower case.
+ (Changed call sites in write.c.) Declare VMS system function
+ names used, conditional on actually being on VMS. Changed many
+ functions that returned no useful value to now be declared to
+ return void. Removed many unused variables. Supply missing
+ return statements or values. Supply `default' case in switch
+ statements. Ensure local variables get initialized.
+ * config/tc-vax.c: Minor changes to silence "gcc -Wall".
+ * config/obj-vms.h, config/tc-vax.h: Added some missing
+ declarations.
+
+
+ * atof-generic.c (flonum_print) [TRACE]: New function.
+ (atof_generic) [TRACE]: Print multiplier before multiplication,
+ and print multiplication result before and after copy.
+
+ * flonum-mult.c (flonum_multip): Avoid sign extension problems
+ around multiplication operation.
+
+ * atof-generic.c (ASSUME_DECIMAL_MARK_IS_DOT): Define.
+ (atof_generic) [ASSUME_DECIMAL_MARK_IS_DOT]: Check for '.'
+ explicitly instead of calling strchr.
+
+ * config/tc-sparc.c (sparc_ip): When scanning successive opcode
+ table entries, check names for pointer equality before doing
+ string comparisons.
+
+ * hash.c (hash_ask): Call strcmp instead of expanding it inline.
+ (hash_code): Replaced with a version from bfd.
+
+ * config/obj-coff.c (write_object_file): If COFF_FLAGS isn't
+ defined, default it to zero.
+
+
+ * write.c (fix_new_internal): Clear fx_bsr on those targets which
+ use it.
+
+ * expr.c (operand): Parenthesize && within ||.
+ * listing.c (listing_newline): Likewise.
+ (list_symbol_table): Use %lu to print sizeof.
+ * symbols.c: Comment out unused function indent.
+ (print_symbol_value_1): Cast pointer to unsigned long for printf.
+ * config/obj-coff.c (do_relocs_for): Only declare symbol_ptr if it
+ will be used.
+ * config/tc-h8300.c (md_begin): Remove unused variable reg.
+ (get_operand): Declare type of parameter direction. Remove unused
+ variable size.
+ (get_specific): Fix comment to avoid nested comments.
+ (check_operand): Cast X_add_number to unsigned long for printf.
+ (build_bytes): Remove unused local variables output_ptr, part, and
+ high.
+ (build_bytes): Cast X_add_number to unsigned long for printf.
+ (clever_message): Remove unused variable scan.
+ (md_assemble): Remove unused variable i.
+ (tc_coff_sizemachdep): Remove unused function.
+ * tc-h8300.h (tc_reloc_mangle): Declare.
+
+
+ * config/tc-mips.c (mips_4650): New static variable.
+ (md_begin): Handle a cpu string of "4650". If mips_4650 was not
+ initialized, set it to 0.
+ (append_insn): Don't insert nops around HI and LO on a 4650.
+ (mips_emit_delays): Likewise.
+ (mips_ip): Use INSN_ISA mask to check ISA of instruction. Check
+ for INSN_4650.
+ (md_longopts): Add m4650 and no-m4650.
+ (md_parse_option): Handle mips-cpu=4650. Handle -m4650 and
+ -no-m4650.
+ * doc/as.texinfo: Document new MIPS options.
+
+Sat Jan 14 23:48:13 1995 Steve Chamberlain <sac@jonny>
+
+ * config/tc-w65.c, config/tc-w65.h, config/w65.mt: Newfiles.
+ * config/obj-coff.h: Cope with w65.
+ * configure, configure.in: Recognize w65.
+
+
+ * app.c (do_scrub_next_char) [__GNUC__ && __OPTIMIZE__]: If `get'
+ function is scrub_from_file, call scrub_from_file directly, and
+ get gcc's inlining capability into the act.
+
+ * Makefile.in (VMS_OTHER_OBJS): Add ../libiberty/hex.o.
+ (OBJS): Delete hex-value.o.
+ (REAL_SOURCES): Delete hex-value.c.
+ (hex-value.o): Delete dependencies.
+ * hex-value.c: Deleted.
+ * as.c (main): Call hex_init.
+ * expr.c, config/tc-mips.c: Include libiberty.h. Replace
+ hex_value array references with hex_* macros.
+
+
+ * config/tc-h8300.h (COFF_FLAGS): Don't define.
+ * config/tc-h8500.h (COFF_FLAGS), config/tc-sh.h (COFF_FLAGS),
+ config/tc-z8k.h (COFF_FLAGS): Ditto.
+start-sanitize-rce
+ * config/tc-rce.h (COFF_FLAGS): Ditto.
+end-sanitize-rce
+
+ * config/obj-coff.c (KEEP_RELOC_INFO): Make sure it's always
+ defined.
+
+ * config/tc-m68k.c (m68k_ip, cases AOFF and AINDEX): Don't
+ generate 68020 addressing modes for a 68000 processor.
+ (md_estimate_size_before_relax, cases PCREL and PCLEA): Ditto.
+
+
+ * config/obj-coff.c (write_object_file): Don't treat h8300 and z8k
+ specially with regard to fixups.
+
+
+ * config/tc-mips.c (RELAX_RELOC1, RELAX_RELOC2): Cast values to
+ bfd_vma before subtracting.
+
+ * config/obj-coff.c (size_section): Handle rs_space like rs_fill,
+ but make sure fr_symbol is null.
+ (fill_section): Ditto.
+
+
+ * config/tc-mips.c (mips_ip): Fix handling of floating point
+ values when GPOPT is not defined.
+
+
+ * gasp.c: Include string.h. Put config.h before other includes.
+
+ * config/tc-alpha.c (alpha_ip): Delay calls to emit_add64 until
+ after any remaining operands are also known to match.
+
+
+ * listing.c (list_symbol_table): Build a format string based on
+ the size of the value to be printed, as long as "unsigned long" is
+ at least as wide, after handling the special case of 4-byte
+ values.
+
+ * Makefile.in (dependencies): Make $(OBJS) depend on as.h and
+ everything it includes. Delete those files from per-file
+ dependencies.
+
+ * as.h (relax_substateT): Now defined to be unsigned int.
+ (relax_stateT): Separate typedef from enum definition.
+ (enum _relax_state): Reordered for better punctuation. Added new
+ values rs_align_code and rs_space.
+ (lineno, struct lineno_struct): Unused, deleted.
+
+ * as.h: No longer include assert.h.
+ (as_assert): Declare.
+ (assert): New definition, calls as_assert longer needed.
+ (__PRETTY_FUNCTION__): Provide default for older versions of gcc.
+ * messages.c (as_assert): New function.
+ * gdbinit.in: Put a breakpoint there.
+
+ * read.c (s_space): Rewrite to handle general expressions.
+ Generate rs_space frags for non-constant values.
+ * write.c (cvt_frag_to_fill): Treat rs_align_code and rs_space
+ like rs_align and rs_org. Verify that fr_offset is non-negative,
+ and force frag type to rs_fill only after assertion checks.
+ (relax_segment): Treat rs_align_code like rs_align. Treat
+ rs_space like rs_org in the first switch; in the second, force the
+ operand to a constant, and use it for the growth size.
+
+
+ * config/tc-hppa.c (pa_subspace): For sections with the ZERO
+ attribute, set the "bss" field in the appropriate seginfo structure.
+
+
+ * subsegs.h: Include obstack.h.
+
+
+ * as.h (struct frag): Enable align* components now.
+
+
+ * frags.c (frag_init): Call obstack_begin on `frags'.
+ * subsegs.c (subsegs_begin): Don't do it here.
+ * as.c (main): Call frag_init before subsegs_begin.
+
+ * frags.c (frag_append_1_char): New function.
+ * frags.h (frag_append_1_char): Declare it.
+ (FRAG_APPEND_1_CHAR): Call it. Old definition is commented out
+ for now.
+
+ * as.h (struct frag): Added (but commented out) new fields for
+ tracking current alignment.
+ (frag_now_fix): Changed macro to function declaration.
+ * frags.c (frag_now_fix): Define function here.
+ (frag_new): Use it instead of accessing `frags' directly.
+ * frags.h (frags): Change comment to indicate it shouldn't be
+ accessed directly.
+ * subsegs.h (struct frchain): New field frch_obstack, intended to
+ eventually replace global `frags' obstack.
+ * subsegs.c (subseg_set_rest): Use frag_now_fix instead of
+ accessing `frags' directly. Initialize fields of new frchainS
+ explicitly instead of with memset.
+ * config/obj-coff.c (obj_coff_ln) [!BFD_ASSEMBLER]: Use
+ frag_now_fix.
+ * config/tc-mips.c (s_loc), config/obj-vms.c
+ (vms_resolve_symbol_redef), symbols.c (colon): Likewise.
+
+ * config/tc-m68k.c (md_apply_fix_2): Use offsetT and addressT
+ instead of long and unsigned long.
+ (md_apply_fix): Cast value before passing it.
+
+ * config/obj-aout.h, config/obj-coff.c, config/obj-elf.h,
+ config/obj-som.h, config/tc-h8500.c, config/tc-hppa.c,
+ config/tc-hppa.h, config/tc-sh.c, config/tc-z8k.c: Don't rely on
+ use of ".." when including header files.
+start-sanitize-rce
+ * config/tc-rce.c: Ditto.
+end-sanitize-rce
+
+ * config/obj-coff.c (fixup_segment): Reformat condition in an `if'
+ statement.
+
+ * Makefile.in (SUBDIR_INCLUDES): Deleted.
+
+
+ * config/obj-coff.h: Include bfd/libcoff.h, not libcoff.h.
+
+start-sanitize-arc
+
+ * config/tc-arc.c: Delete lots of sparc pseudo-ops.
+end-sanitize-arc
+
+
+ * config/tc-mips.c (load_register): Rewrite to handle O_big 64 bit
+ constants.
+ (mips_ip): Accept O_big constants in case 'I'. Change case
+ 'i'/'j' to treat an O_big constant as an out of range value.
+
+
+ * config/tc-hppa.c (pa_subspace): Make sure SEC_HAS_CONTENTS is
+ clear for a section with the "ZERO" attribute.
+
+ * Reduce useless symbols for ELF in an attempt to make smaller
+ objects and speed up the linker.
+ * config/tc-hppa.c (struct call_info): Replace end_symbol field
+ with a size field.
+ (hppa_elf_mark_end_function): Delete unneeded function.
+ (pa_build_unwind_subspace): For the 2nd unwind relocation, use
+ the function symbol + function size instead of a special symbol
+ for the end of the function.
+ (process_exit): Compute the function size here. Don't call
+ hppa_elf_mark_end_of_function anymore.
+ (pa_procend): Likewise.
+ (hppa_fix_adjustable): Only reject 32bit relocations for SOM.
+ (elf_hppa_final_processing): Simplify.
+
+start-sanitize-arc
+
+ * config/tc-arc.c (arc_insert_operand): Change reg parm to pointer
+ to table entry. All callers changed.
+ (md_shortopts): New argument -mmult.
+ (md_parse_option): Recognize it.
+ (md_show_usage): Print it.
+ (md_begin): If -mmult, say we have the new multiply and shift insns.
+ (md_assemble): Fix reloc generation for 32 bit immediate values.
+ Clean up modifier handling. Try next insn if fake operand says there's
+ an error. Update to new syntax of insertion/extraction fns.
+ Recognize predefined aux regs. Don't abort if insertion fn missing.
+end-sanitize-arc
+
+
+ * configure.in: Recognize mips-sony-bsd and mips-dec-bsd, but
+ reject other vendors until we can be sure we're consistent with
+ bfd.
+
+ * config/obj-vms.c (Create_VMS_Object_File): Instead of formatting
+ a buffer to pass to `error', just call `as_fatal' directly.
+ (VMS_Psect_Spec): Ditto.
+ (VMS_TBT_Module_Begin, VMS_TBT_Source_File, gen1,
+ VMS_typedef_parse, VMS_LSYM_Parse, VMS_Emit_Globalvalues): Call
+ as_tsktsk instead of printf.
+ (VMS_TBT_Module_Begin, VMS_TBT_Line_PC_Correlation,
+ VMS_TBT_Source_File, VMS_TBT_Source_Lines,
+ VMS_Store_Repeated_Data, VMS_Check_For_Main): Use explicit
+ integers rather than sizeof expressions using basic integer types,
+ in case host and target aren't the same. Use memcpy or COPY_*
+ macros instead of possibly unaligned word or longword assignment.
+
+ * config/obj-vms.h (OBJ_SYMFIELD_TYPE): New macro.
+ * config/obj-vms.c (VMS_Store_PIC_Symbol_Reference,
+ VMS_Check_For_Main, VMS_write_object_file): Use sy_obj instead of
+ forcing sy_number to hold a pointer.
+
+
+ * config/tc-sh.c (md_begin): Don't fill in md_relax_table here.
+ (md_relax_table): Use static initialization.
+
+ * config/tc-h8300.c (parse_exp, get_operands, clever_message,
+ md_assemble, tc_crawl_symbol_chain, md_undefined_symbol,
+ tc_headers_hook, md_operand, md_number_to_chars): Don't use DEFUN.
+
+ * Makefile.in (CHECKFLAGS): Don't pass AS_FOR_TARGET,
+ CC_FOR_TARGET, OBJDUMP_FOR_TARGET, NM_FOR_TARGET; they're not
+ used.
+ (AS_FOR_TARGET, CC_FOR_TARGET, OBJDUMP, OBJDUMP_FOR_TARGET, NM,
+ NM_FOR_TARGET): Don't define.
+ (VMS_OTHER_OBJS): Add xmalloc.o and xexit.o from libiberty.
+ (tooldir): Use exec_prefix, not libdir.
+
+
+ * config/obj-coff.h: Include libcoff.h, not ../bfd/libcoff.h.
+
+ * as.h: Include progress.h.
+ * as.c (main): Call START_PROGRESS and END_PROGRESS.
+ (main, perform_an_assembly_pass): Call PROGRESS.
+
+
+ * write.c (adjust_reloc_syms): Use bfd_is_und_section and
+ bfd_is_abs_section rather than comparing against &bfd_und_section
+ and &bfd_abs_section.
+
+
+ * config/tc-sh.c (md_begin): Use a local variable when
+ initializing md_relax_table to avoid errors about modifying a
+ const data structure.
+
+
+ * config/tc-ppc.c (tc_gen_reloc): Remove OBJ_ELF hack which
+ appears to no longer be needed.
+
+
+ * config/tc-mips.c (macro_build): Accept BFD_RELOC_PCREL* without
+ requiring that the X_op_symbol be in the text_section.
+ (macro): Change the test for a legel expression difference to
+ correspond to changes in pseudo_set in read.c.
+
+
+ * write.c (write_relocs) [RELOC_EXPANSION_POSSIBLE]: Use
+ bfd_install_relocation.
+
+ * ecoff.c (ecoff_set_gp_prolog_size): If there is no current
+ routine, just return.
+
+ * config/tc-alpha.c (alpha_ip, case 'B', subcase 'c'): Use opcode
+ value from pattern instead of assuming jsr.
+ * config/alpha-opcode.h (jmp): Add a "1,Bc" form.
+
+
+ * Makefile.in (NM_FOR_TARGET): Use ../binutils/nm.new, not just
+ plain nm.
+
+ * configure.in (ns32k-pc532-mach*): Select correct emulation.
+ (mips-sony-bsd*): Use ecoff.
+ (mips-*-gnu*): New target, using aout format, from Roland McGrath.
+ * configure: Regenerated.
+
+start-sanitize-arc
+
+ * configure.in (arc-*-elf*): Recognize.
+ * configure: "regenerated".
+ * config/tc-arc.c, config/tc-arc.h, config/arc.mt: New files.
+end-sanitize-arc
+
+
+ Use libiberty version of xmalloc:
+ * Makefile.in (REAL_SOURCES): Delete xmalloc.c.
+ (OBJS): Delete xmalloc.o.
+ (xmalloc.o): Delete dependencies.
+ * as.c (main): Call xmalloc_set_program_name once program name is
+ known.
+
+ * config/tc-alpha.c (in_range_signed, in_range_unsigned): New
+ routines, split from in_range.
+ (in_range): Deleted. All calls changed to in_range_*signed.
+ (create_lita_section): Macro deleted. Single use expanded in
+ place.
+ (alpha_ip): Handle `t' and `8' operand types.
+ (md_apply_fix): Handle BFD_RELOC_12_PCREL. Print name of
+ unhandled relocation types.
+ * config/alpha-opcode.h: Added HALT and DRAINA. Disabled MOVI,
+ since it doesn't work, and isn't supported by the native
+ assembler.
+
+ * input-scrub.c: Change wording of a comment to avoid interference
+ with Cygnus source-control tools.
+
+ * as.h (errno) [NEED_DECLARATION_ERRNO]: Declare.
+
+ * config/tc-m68k.c (init_table): List buscr and pcr control
+ registers.
+ (m68k_ip, case 'J'): Handle them.
+
+ Delete signal handler code. It's been disabled since March 1993
+ without complaints.
+ * as.c: Don't include signal.h.
+ (got_sig): Unused function deleted, declaration deleted.
+ (SIGTY): Macro deleted.
+ (main): Deleted disabled code for establishing signal handler.
+
+start-sanitize-rce
+ Tiemann should've noted something like this:
+ * config/tc-rce.c, config/tc-rce.h: New files.
+ * as.c (main) [TC_RCE]: Call dump_literals.
+ * configure.in: Handle rce-*-aout.
+ * configure: Regenerated.
+end-sanitize-rce
+
* app.c (do_scrub_next_char): Insert missing newline at end of file