+Wed Oct 6 13:01:34 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
+
+ * config/tc-mips.c (cons_fix_new_mips): New function. Turn
+ BFD_RELOC_64 into BFD_RELOC_32.
+ * config/tc-mips.h (TC_CONS_FIX_NEW): Define.
+ (cons_fix_new_mips): Declare.
+
+ Changes to let cons handle bignums like general expressions.
+ * expr.h (expressionS): New field X_unsigned.
+ * expr.c (operand): Initialize X_unsigned to 1. Set it to 0 for
+ unary minus case.
+ (expr) Fix typo resultP to right if missing operand. Set
+ X_unsigned to 1 when building new expression.
+ * read.c (potable): Make "octa" and "quad" call cons, not
+ big_cons.
+ (cons): Handle bignums. If given an O_constant (small integer) to
+ fill a big space, turn it into a bignum.
+ (parse_bitfield_cons): Set X_unsigned field.
+ (bignum_low, bignum_limit, bignum_high, grow_bignum, big_cons):
+ Removed.
+ * read.h (big_cons): Remove prototype.
+ * symbols.c (resolve_symbol_value): Don't give a warning if a
+ symbol in expr_section can not be resolved.
+ (S_SET_VALUE): Clear X_unsigned.
+ * write.c (write_object_file): If resolve_symbol_value failed on a
+ symbol we are writing out, give a warning.
+ * config/tc-h8500.c (parse_reglist): Set X_unsigned.
+ * config/tc-hppa.c (md_pseudo_table): Change "octa" and "quad" to
+ call pa_cons, not pa_big_cons.
+ (pa_big_cons): Remove.
+ * config/tc-hppa.h (pa_big_cons): Remove declaration.
+ * config/tc-i960.c (md_pseudo_table): Change "quad" to call cons,
+ not big_cons.
+
+Tue Oct 5 10:53:36 1993 david d `zoo' zuhn (zoo@rtl.cygnus.com)
+
+ * doc/as.texinfo (Copying): new node, to handle the recent changes
+ in the texinfo/gpl.texinfo file
+
+Mon Oct 4 17:10:15 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
+
+ * read.c (big_cons): Handle "0" correctly.
+
+ * config/tc-mips.c (md_begin): Set target_big_endian correctly.
+
+Mon Oct 4 15:37:57 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
+
+ * config/tc-m68k.c (m68k_ip): Mode 7.3 operand using PC should
+ have pc-relative fixup.
+ (md_parse_option): Move "-k" case down near "-pic" case.
+
+ * configure.in: Alphabetize list of cpu type alternatives. Enable
+ OS values of "linux*elf*" and "linux*coff*" to select those
+ formats, with linux emulation. Don't bother checking for upper-
+ or mixed-case versions of "ose".
+
+Thu Sep 30 11:05:35 1993 Steve Chamberlain (sac@phydeaux.cygnus.com)
+
+ * config/z8k.c (md_pseudo_table): add "unseg".
+
+Wed Sep 29 16:15:11 1993 K. Richard Pixley (rich@sendai.cygnus.com)
+
+ * config/m88k-opcode.h (m88k_opcodes): correct a few mistakes
+ found while extending the dissassembler.
+
+Tue Sep 28 12:02:04 1993 Stan Shebs (shebs@rtl.cygnus.com)
+
+ * configure.in: Split i386 LynxOS out from other coff targets,
+ add a specific Lynx emulation.
+ Add m68k LynxOS target.
+ * config/tc-i386.c: Define specific Lynx target format.
+ * config/tc-m68k.c: Define specific Lynx target format.
+ * config/te-lynx.h: New file.
+
+ * config/obj-coffbfd.h: Don't set TARGET_FORMAT to be
+ "coff-{i386,m68k}" if TARGET_FORMAT already defined.
+ (INIT_STAB_SECTION): Define.
+ * config/obj-coffbfd.c: Include <time.h>.
+ (write_object_file): Look for .stab sections and call
+ adjust_stab_section.
+ (adjust_stab_section): New function, fills in the first symbol
+ of a stab section with number of symbols and string table size.
+ (obj_coff_init_stab_section): New function, creates the initial
+ symbol for a stab section.
+
+Mon Sep 27 15:21:55 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
+
+ * config/atof-vax.c (md_atof): Return null on success instead of
+ empty string.
+ * config/atof-tahoe.c (md_atof): Ditto.
+ * read.c (float_cons): Expect a null pointer for success, not an
+ empty string.
+
+ * hash.c (hash_insert, hash_jam, hash_grow): Return null pointer
+ on success, instead of empty string. All callers changed.
+
+ * config/tc-vax.c: Use PARAMS in declarations.
+ (vip_op): Use NULL instead of empty string for success in error
+ and warning fields.
+
+Sun Sep 26 23:45:29 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
+
+ * expr.c (expr) [DIFF_EXPR_OK]: Permit subtraction of two symbols
+ in different defined segments.
+
+ * write.c (relax_segment): Localize "aim" variable. If
+ DIFF_EXPR_OK, don't impose checks on symbol segment types.
+ (fixup_segment) [DIFF_EXPR_OK]: If sub_symbolP is in the current
+ segment, convert to a PC-relative fixup and discard the symbol.
+
+ * config/tc-m68k.c (flag_want_pic): New variable, mostly ignored.
+ (md_parse_option) [TE_SUN3]: Set it for "-k".
+ (m68k_ip): Generate proper fixup for mode 7.3.
+ * config/tc-m68k.h (DIFF_EXPR_OK): Define.
+
+Sat Sep 25 05:08:19 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
+
+ * config/tc-m68k.c (struct m68k_incant, getone, gettwo): Moved
+ earlier in the file.
+ (insop, add_exp): Now defined as functions, for readability.
+ (insop): Now takes two arguments; callers changed.
+
+Fri Sep 24 12:37:59 1993 K. Richard Pixley (rich@sendai.cygnus.com)
+
+ * config/tc-m88k.c (get_o6): new function.
+ (get_bf, get_cmp, get_cnd, get_cr, get_fcr, get_imm16, get_reg,
+ get_vec9, getval, get_pcr, calcop, match_name): make static and
+ prototype.
+ (s_file): remove extraneous forward decl.
+ (md_begin): add const to retval decl.
+ (calcop): cope with instructions without arguments. Handle 'o'
+ type argument, the o6 field of the prot insn.
+ (md_estimate_size_before_relax): return a dummy value.
+
+ * config/m88k-opcode.h (m88k_opcodes): comment change; o6 field is
+ in bits 10 through 7. flt.[dxs]s requires an r register in the
+ second argument. New instruction lda.x. New instruction muls
+ (alias for mul).
+
+Fri Sep 24 13:43:30 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
+
+ * Makefile.in (distclean): Recurse like clean.
+ * doc/Makefile.in (distclean): New target.
+
+ * config/tc-mips.c (md_begin): Set BFD architecture and machine
+ based on MIPS ISA level.
+
+Thu Sep 23 17:58:58 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
+
+ * as.c (main): "exhausted", not "exhuasted".
+
+ * struc-symbol.h (struct symbol): Add sy_used_in_reloc field.
+ * write.c (adjust_reloc_syms): Set sy_used_in_reloc.
+ (write_object_file): Never strip symbols with sy_used_in_reloc
+ set.
+
+ * config/obj-elf.c (obj_elf_section): Rewrote to handle both
+ Solaris and SVR4 style .section pseudo-ops.
+ (obj_elf_ident): Set SEC_READONLY for .comment section.
+ * config/tc-sparc.c (md_apply_fix): If this is ELF, and we're
+ generating a reloc, don't apply a fix.
+
+Thu Sep 23 13:16:58 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
+
+ * config/obj-coffbfd.c (relax_align): Now static.
+
+Mon Sep 20 19:23:35 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
+
+ * read.c (get_stab_string_offset): Make non-static. Make
+ arguments const. Don't align strings to 4 byte boundaries.
+ * read.h: Declare get_stab_string_offset.
+ * config/obj-elf.c (obj_elf_section): Set SEC_ALLOC as well as
+ SEC_LOAD for progbits section.
+ (obj_elf_init_stab_section): New function.
+ (adjust_stab_sections): Add casts to avoid warnings.
+ * config/obj-elf.h (INIT_STAB_SECTION): Call
+ obj_elf_init_stab_section.
+ (OBJ_PROCESS_STAB): Removed definition.
+
+Fri Sep 17 18:12:34 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
+
+ * config/obj-elf.h (S_GET_SIZE): Define.
+ (obj_frob_forward_symbol): Define.
+ * config/tc-i386.c (line_comment_chars): Initialize in all cases.
+
+Thu Sep 16 14:23:08 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
+
+ * tc.h: Declare tc_gen_reloc differently depending upon
+ RELOC_EXPANSION_POSSIBLE.
+ * config/obj-elf.c (obj_elf_section): Only set flags when first
+ creating the section.
+
+Wed Sep 15 12:15:53 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
+
+ * config/tc-mips.c (append_insn): Don't swap a trap instruction
+ with a branch.
+
+Tue Sep 14 13:31:04 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
+
+ * config/obj-elf.c (obj_elf_data, obj_elf_text): New functions;
+ set previous_section and previous_subsection and then call s_data
+ and s_text, respectively.
+ (obj_pseudo_table): Add data and text.
+ (obj_elf_section): Add SEC_LOAD to default initialization of
+ flags. Treat .rodata1 like .rodata. Set SEC_LOAD as well as
+ SEC_ALLOC for "alloc" string. Don't bother trying to find the
+ section; just use subseg_new.
+
+ * read.c (change_to_section): Removed. This is now done by
+ subseg_new.
+ (get_stab_string_offset): Rearranged somewhat. Create the section
+ using subseg_new. Store the string index in seg_info, rather than
+ in a static variable. Force the first string to be empty. Use
+ frag_more rather than FRAG_APPEND_1_CHAR.
+ (s_stab_generic): Rewrote.
+ * subsegs.h (segment_info_type): Added stabu union.
+ * subsegs.c (subseg_new): Initialize stab_string_size to 0.
+ * config/obj-aout.c: Don't include aout/stab_gnu.h.
+ (obj_aout_stab, obj_aout_desc): Removed.
+ (obj_pseudo_table): Removed desc and stabX entries.
+ * config/obj-bout.c: Same changes as config/obj-aout.c.
+ * config/obj-bout.h (S_SET_TYPE): Define.
+ (tc_bout_fix_to_chars): Declare.
+ * config/obj-coff.c (obj_coff_stab): Removed.
+ (obj_pseudo_table): Removed desc and stabX entries.
+ * config/obj-coff.h (SEPARATE_STAB_SECTIONS): Define.
+ * config/obj-coffbfd.c (current_stab_symbol): Removed.
+ * config/obj-coffbfd.h (obj_symbol_type): Removed n_strx, n_type,
+ n_other, n_desc and n_value fields.
+ (S_{S,G}ET_{OFFSET,OTHER,TYPE,DESC}): Removed.
+ (MAKE_STAB_SYMBOL): Removed.
+ * config/obj-ecoff.c (obj_ecoff_stab): Renamed to ecoff_stab.
+ Changed arguments and removed parsing code.
+ (obj_pseudo_table): Removed stabX entries.
+ * config/obj-ecoff.h (ecoff_stab): Declare.
+ (OBJ_PROCESS_STAB): Define.
+ * config/obj-elf.c: Don't include aout/stab_gnu.h.
+ (obj_elf_stab, obj_elf_xstab, obj_elf_desc,
+ elf_stab_symbol_string, elf_stab_symbol, obj_elf_stab_generic):
+ Removed.
+ (obj_pseudo_table): Removed desc, stabX and xstabs entries.
+ (obj_elf_version): Use subseg_new, not bfd_make_section. Don't
+ set SEC_LOAD for .note section.
+ (adjust_stab_sections): Get frag pointer from seg_info, rather
+ than looking through frags.
+ * config/obj-elf.h (S_{S,G}ET_{OTHER,TYPE,DESC}): Removed.
+ (SEPARATE_STAB_SECTIONS, INIT_STAB_SECTION, OBJ_PROCESS_STAB):
+ Define.
+ * config/obj-vms.c (obj_aout_stab): Removed.
+ (obj_pseudo_table): Removed stabX entries.
+ * config/obj-vms.h (S_SET_TYPE): Define.
+
+ * as.h: Declare listing.
+ * read.c: Don't declare listing.
+ (emit_expr): Cast fix_new_exp argument.
+ (parse_bitfield_cons): Correct printf format.
+ * symbols.c (symbol_new): Add cast to avoid warning.
+ * write.h: Declare text_last_frag and data_last_frag.
+ * config/obj-bout.c (obj_bout_line): Added dummy argument.
+ * config/obj-coffbfd.c: Add some casts to avoid warnings.
+ * config/tc-a29k.c: Likewise.
+ * config/tc-i960.c: Likewise. Also fully bracket structure
+ initializations, fix printf formats, and remove unused variables.
+
+Mon Sep 13 16:48:38 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
+
+ * read.c (s_desc): Only compile and use if S_SET_DESC is defined.
+ * struc-symbol.h: Declare verify_symbol_chain and
+ verify_symbol_chain_2 even if not SYMBOLS_NEED_BACKPOINTERS.
+ * symbols.c (verify_symbol_chain): Removed useless expression.
+ * write.c (headers, the_object_file): Only use if not
+ BFD_ASSEMBLER and not BFD.
+ (fixup_segment, cvs_frag_to_fill): Only use if BFD_ASSEMBLER or
+ not BFD.
+ (merge_data_into_text): Only use if BFD_ASSEMBLER or (not BFD and
+ not OBJ_AOUT).
+ * write.h: Declare relax_segment.
+ * config/obj-coffbfd.c (stack_pop, stack_push, stack_init): Made
+ static.
+ (stack_top): Commented out, since it's not used.
+ Fixed up pseudo-op functions to take an ignored int argument.
+ (size_section): Added default BAD_CASE to switch.
+ Changed bzero calls to memset.
+ * config/obj-coffbfd.h (S_IS_LOCAL): Call strchr on S_GET_NAME
+ (s), not on s itself.
+ * config/tc-a29k.c (s_use): Take ignored int argument. Only
+ define if OBJ_COFF is not defined.
+ * config/tc-i386.c: (fits_in_signed_byte, smallest_imm_type): Make
+ argument signed again.
+ * config/tc-m68k.c (s_bss, s_even, s_proc): Take ignored int
+ argument.
+ (m68k_ip): Fully bracket initialization of archs.
+ Correct several formats for __LINE__ to be %d rather than %s.
+ (init_table): Fully bracket initialization.
+ Cast values larger than 0x7f assigned to fr_opcode to char.
+
+ * subsegs.c: Renamed non-BFD_ASSEMBLER subseg_new to subseg_set.
+ Wrote non-BFD_ASSEMBLER subseg_new. Now subseg_new always takes a
+ section name, and subseg_set always takes a segT. Changed all
+ callers as appropriate.
+ * config/obj-coffbfd.c (change_to_section): Renamed to
+ obj_coff_add_segment. Corrected. Made callers use subseg_new.
+ * config/obj-coffbfd.h (obj_segment_name, obj_add_segment):
+ Define.
+
+Mon Sep 13 13:15:03 1993 Doug Evans (dje@canuck.cygnus.com)
+
+ * config/tc-sparc.h (LOCAL_LABEL): Remove test for name[0] == 'L'.
+
+Fri Sep 10 11:22:08 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
+
+ * config/obj-elf.h (S_SET_SIZE): Actually set the size.
+
+ Gcc lint.
+ * Added a number of casts to function calls.
+ * app.c (do_scrub_begin), as.c (main), expr.c (integer_constant,
+ operand, expr), read.c (read_begin, HANDLE_CONDITIONAL_ASSEMBLY,
+ read_a_source_file, s_align_bytes, demand_empty_rest_of_line,
+ ignore_rest_of_line, big_cons, is_it_end_of_statement, s_ignore),
+ read.h (is_name_beginner, is_part_of_name), config/obj-elf.c
+ (obj_elf_section), config/tc-i386.c (parse_register),
+ config/tc-sparc.c (isoctal, s_proc): Cast char
+ array indices to unsigned char.
+ * app.c (process_escape): Make static. Add prototype. Change
+ argument from char to int.
+ * as.c: Include output-file.h for prototypes. Comment out unused
+ function got_sig.
+ * Makefile.in (as.o): Depend on output-file.h.
+ * as.h (BAD_CASE): Cast val argument to long, and use %ld.
+ (pseudo_typeS): Add prototype to poc_handler field.
+ (print_version_id): Add prototype.
+ (xmalloc, xrealloc): Change size arguments to unsigned long.
+ (do_scrub_next_char): Add prototypes for function arguments.
+ (had_errors, had_warnings, scrub_from_file): Remove duplicate
+ declarations.
+ * atof-generic.c (atof_generic): Make size variables unsigned.
+ * cond.c (ignore_input): Removed unused local variable ptr.
+ * expr.c (floating_constant, integer_constant): Make static. Add
+ prototypes.
+ * flonum-copy.c (flonum_copy): Make size variables unsigned.
+ * frags.h: Add prototype for frag_init.
+ * hash.h, hash.c: Change hash values from char * to PTR, make hash
+ strings const, make returned error strings const char *. Added
+ prototypes for functions.
+ * input-file.h, input-file.c (input_file_buffer_size): Return
+ unsigned int.
+ * input-scrub.c (buffer_length): Make unsigned.
+ (input_scrub_push, input_scrub_pop): Make static.
+ * listing.c (list_symbol_table): Cast sprintf argument to unsigned
+ long and use %lx. Print name of segment rather than address of
+ structure.
+ (listing_list, listing_title): Change argument to int.
+ (listing_eject, listing_flags, listing_psize): Add int argument.
+ * listing.h: Corresponding declaration changes.
+ * obj.h (obj_emit_symbols): Rename prototype argument to avoid
+ shadowing.
+ * read.h: Change get_absolute_expression prototype to return
+ offsetT. Add prototype for next_char_of_string. Various
+ prototype changes.
+ * read.c: Remove prototype for next_char_of_string.
+ (pobegin): Make errtxt const. Make new_length, tmp_len and num
+ unsigned.
+ (s_abort, s_align_ptwo, s_comm, s_data, s_app_line, s_fill,
+ s_globl, s_lsym, s_org, s_set, s_text, s_desc): Add int argument.
+ Change all callers.
+ (s_comm): Change temp from valueT to offsetT. Cast to long when
+ printing and use %ld (only for error messages anyhow).
+ (s_long, s_int): Remove unused functions.
+ (cons): Change argument to int.
+ (emit_expr): Use %lx when printing longs.
+ (get_absolute_expression): Return offsetT, not long.
+ (get_stab_string_offset): Comment out unless
+ SEPARATE_STAB_SECTIONS.
+ (s_stab_generic): Remove unused offset. Define seg_is_new only
+ if SEPARATE_STAB_SECTIONS. Use toP only in local block.
+ * struc-symbol.h (verify_symbol_chain_2): Add prototype.
+ * symbols.c: Remove nested comment.
+ (symbol_new): Rename value to valu.
+ (colon): Use %ld and cast to long in error message.
+ * symbols.h: Remove duplicate verify_symbol_chain declaration.
+ * tc.h: Remove unused md_emit_relocations declaration.
+ (tc_gen_reloc): Add declaration.
+ * write.c (cvt_frag_to_fill): Change first argument name depending
+ on BFD_ASSEMBLER.
+ (write_relocs): Remove unused offset, frags. Remove tc_gen_reloc
+ declarations. Make n unsigned.
+ (write_contents): Remove unused i, n, relocs, fixp. Rename frags
+ to f to avoid shadowing.
+ (write_object_file): Define fragP only if not BFD_ASSEMBLER or not
+ WORKING_DOT_WORD. Remove unused keep. Only declare punt and
+ punt_it if they will be used. Make i and n unsigned.
+ (fixup_segment): Cast to long and use %ld in error message.
+ * xmalloc.c (xmalloc, xrealloc): Make size argument unsigned.
+ * config/obj-aout.h: Remove nested comment. Add prototype for
+ obj_aout_frob_symbol.
+ (obj_aout_line, obj_aout_desc): Add int argument.
+ * config/obj-ecoff.c: Changed build routines to use an unsigned
+ offset.
+ (add_string): Make len unsigned long.
+ (obj_ecoff_stab): Use %lu in error message.
+ * config/obj-elf.c (obj_elf_common): Comment out unused label
+ allocate_bss.
+ (obj_elf_frob_symbol): Return 0 (currently broken).
+ (obj_elf_desc, obj_elf_version, obj_elf_size, obj_elf_type,
+ obj_elf_ident, obj_elf_weak, obj_elf_local, obj_elf_common,
+ obj_elf_line, obj_elf_previous): Add int argument.
+ (obj_elf_write_symbol_p): Make static.
+ * config/obj-elf.h (obj_elf_write_symbol): Add prototype.
+ * config/tc-hppa.h: Remove declarations of functions declared in
+ read.h.
+ * config/tc-i386.c (ENCODE_RELAX_STATE): Cast to relax_substateT.
+ (s_bss): Add int argument.
+ (fits_in_signed_byte, smallest_imm_type): Make argument unsigned.
+ (dummy): Remove unused function.
+ (md_assemble): Rename local o to op to avoid shadowing.
+ (tc_gen_reloc): Rename local reloc to rel to avoid shadowing.
+ * config/tc-m68k.c (s_data1, s_data2): Add int argument.
+ * config/tc-mips.c (mips_ip, md_apply_fix): Cast to long and use
+ %ld in error messages.
+ * config/tc-sparc.c: Remove duplicate declarations.
+ (getExpression): Rewrite condition to avoid empty conditional
+ body.
+ (s_reg, s_proc, s_reserve, s_common, s_seg, s_xword): Add int
+ argument.
+
+Thu Sep 9 17:10:00 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
+
+ Changes from Jeff Law:
+
+ * config/tc-hppa.c (md_assemble): Fix typo.
+ (pa_ip): Delete unused variables and labels. Do not check for
+ unsigned values being < 0, it can't happen.
+ (is_same_frag): Return a value in recursive call case.
+ (pa_callinfo): Delete unused variables and labels.
+ (pa_comm): Likewise.
+ (pa_copyright): Likewise.
+ (pa_export): Likewise.
+ (pa_import): Likewise.
+ (pa_param): Likewise.
+ (pa_space): Likewise.
+ (pa_subspace): Likewise.
+
+Thu Sep 9 15:05:34 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
+
+ * read.c (get_stab_string_offset, s_stab_generic): If
+ BFD_ASSEMBLER, call subseg_set rather than subseg_new.
+
+Wed Sep 8 15:09:17 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
+
+ * config/obj-elf.c (obj_elf_section): Set SEC_LOAD when using
+ default flag values.
+
+Tue Sep 7 10:22:52 1993 Stan Shebs (shebs@rtl.cygnus.com)
+
+ * read.c: (change_to_section): Don't include body if not MANY_SECTIONS.
+
+ * read.c: (s_stab, s_xstab, s_desc): New functions to parse
+ various stab-related directives.
+ * read.h: (s_stab, s_xstab, s_desc): New function prototypes.
+ * write.c: (merge_data_into_text): Fix ifdef tangle.
+ * config/obj-coffbfd.c (current_stab_symbol): Fake symbol
+ for stab reader to use.
+ * config/obj-coffbfdh.h (obj_symbol_type): Added fields for
+ stab reader, macros to access.
+
+Fri Sep 3 16:44:03 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
+
+ * config/obj-elf.h (elf_symbol): Fixed name of elf_symbol_type.
+
+ * config/tc-hppa.h (struct default_subspace_dict, struct
+ default_space_dict): Field "sort" is now unsigned char.
+
+ * config/tc-hppa.c (pa_def_subspaces, pa_def_spaces): Align
+ columns for easier reading.
+ (bcmp, index): Deleted USG-specific definitions. Should be dealt
+ with in ho-*.h, or in libiberty. Changed mention of index to
+ strchr.
+ (label_symbolP, label_symbol_defined, callinfo_found,
+ within_entry_exit, exit_processing_complete, within_procedure,
+ pa_def_subspaces, pa_def_spaces, pa_pseudo_op_moves_pc,
+ label_symbols_rootP, pa_get_label, pa_label_is_defined,
+ pa_undefine_label): Now static.
+ (movers): Now const, in addition to pointing to const data.
+ * config/tc-hppa.h (label_symbolS_rootP, pa_get_label,
+ pa_label_is_defined, pa_undefine_label, pa_pseudo_op_moves_pc):
+ Delete declarations.
+
+ Merged more changes from Jeff Law and Pete Hoogenboom:
+
+ * config/tc-hppa.c (pa_def_subspaces, pa_def_subspaces): Remove
+ entries for .stab and .stabstr.
+
+ * config/obj-elf.c: (elf_stab_symbol_string): Set the
+ SEC_LOAD attribute for the .stabstr section.
+ (obj_elf_stab_generic): Set the SEC_LOAD attribute for the
+ .stab section.
+ (obj_elf_stab_generic): Change '#if 1' to '#if 0'.
+ (obj_elf_stab_generic): Incorrect byte count on call to
+ md_number_to_chars function.
+
+ * config/tc-hppa.c (hppa_tc_symbol): Static functions need
+ argument relocation bits too.
+
+ * config/tc-hppa.c (pa_stringer): Correctly handle escaping
+ characters which should appear unaltered in the output string (for
+ example an escaped double-quote).
+
+ * config/tc-hppa.c (pa_parse_nonneg_cmpsub_cmpltr): Always
+ initialize name.
+ (pa_parse_neg_cmpsub_cmpltr): Likewise.
+ (pa_parse_nonneg_add_cmpltr): Likewise.
+ (pa_parse_neg_add_cmpltr): Likewise.
+
+ * config/tc-hppa.h (parse_cons_expression_hppa): Remove prototype
+ for now.
+ (cons_fix_new_hppa): Likewise.
+ * config/tc-hppa.c (md_apply_fix): Fix type of valp to match
+ prototype.
+
+ * config/tc-hppa.c: Include libhppa.h.
+
+ * config/tc-hppa.h: Delete extern declarations of functions
+ found in libhppa.h.
+
+ * config/tc-hppa.c (pa_space): Rework to avoid unwanted #ifdef
+ OBJ_ELF conditionals.
+ * config/tc-hppa.h (LOCAL_LABEL): Correctly identify local labels
+ on the PA.
+
+Thu Sep 2 10:43:57 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
+
+ * config/tc-mips.c (macro_build): Accept 'z', and ignore it.
+ (macro): Use "z,s,t" for div instructions to match corresponding
+ change in opcode table.
+ (mips_ip): Added 'z'--must be zero register.
+
+Wed Sep 1 15:56:42 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
+
+ * write.c (write_relocs) [RELOC_EXPANSION_POSSIBLE]: Declare
+ tc_gen_reloc correctly.
+
+ * configure.in: Use "case" instead of "if" when possible. Rewrote
+ Makefile editing to reduce work done. Treat "hppa*" as "hppa".
+
+Wed Sep 1 12:19:07 1993 K. Richard Pixley (rich@sendai.cygnus.com)
+
+ * config/obj-coffbfd.c (obj_coff_section): add 'd' as an alias for
+ section type of data. 'd' seems to be used for m88k.
+
+Wed Aug 25 22:33:22 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
+
+ * config/tc-mips.c (mips_align, s_stringer, s_cons, s_float_cons,
+ s_mips_space): Set insn_label to NULL to avoid changing it at the
+ next .align statement.
+ (append_insn): Don't swap jal with instruction that sets the
+ register that jal sets.
+
+Wed Aug 25 16:15:57 1993 K. Richard Pixley (rich@sendai.cygnus.com)
+
+ * configure.in: recognize m88110.
+
+Wed Aug 25 13:37:46 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
+
+ Merged changes from Pete Hoogenboom and Jeff Law at Utah:
+ * config/tc-hppa.c (pa_build_unwind_subspace): SEC_ALLOC should
+ not be on for .hppa_unwind.
+ (md_pseudo_table): .PARAM and .param are valid pseudo-ops for GAS.
+ (pa_param): New function to handle .PARAM directives.
+ (pa_ip): Pass "isbranch" argument down to pa_parse_*_compltr
+ functions. Handle '|' for movb; allow movb,n.
+ (pa_parse_nonneg_cmpsub_cmpltr): Delete old useless
+ version. Handle cases where no completer exists for
+ comb,n or addb,n.
+ (pa_parse_neg_cmpsub_cmpltr): Handle cases where no
+ completer exists for comb,n or addb,n. Make logic
+ mirror that of pa_parse_nonneg_cmpsub_cmpltr.
+ (pa_parse_nonneg_add_cmpltr): Likewise.
+ (pa_parse_neg_add_cmpltr): Likewise.
+ * tc-hppa.h (pa_param): Declare.
+
+Tue Aug 24 15:41:35 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
+
+ * config/tc-hppa.c (hppa_tc_make_symextn_section): Now static.
+ Added forward declaration.
+
+ Merged changes from Pete Hoogenboom and Jeff Law at Utah:
+
+ * config/obj-elf.c (elf_frob_file): Arguments were incorrect on
+ call to elf_tc_make_sections.
+ (obj_elf_version): A .note section shouldn't have the SEC_ALLOC
+ attribute.
+
+ * config/tc-hppa.c (hppa_tc_make_sections): Add some processing to
+ handle symbol extension sections.
+
+ * config/tc-hppa.c (pa_build_symextn_section): New function to
+ create a symbol extension section.
+ (pa_export_args): Make call to pa_build_symextn_section.
+ (hppa_tc_symbol, hppa_tc_make_sections,
+ hppa_tc_make_symextn_section): New functions.
+ * config/tc-hppa.h: Update elf_tc_symbol and elf_tc_make_sections
+ macros.
+
+ * read.c (emit_expr): Place check for TC_CONS_FIX_NEW in the
+ BFD_ASSEMBLER branch as well.
+
+ * config/tc-hppa.h: If ELF is the target object format, define
+ some ELF- and hppa-specific types and constants.
+
+ * config/tc-hppa.c (getExpression): Fix a typo.
+
+ * read.c (read_a_source_file): Use TC_EQUAL_IN_INSN to determine
+ if a `=' is part of an instruction.
+ (read_a_source_file): Handle case where end-of-line markers are
+ also used within instructions.
+ * config/tc-hppa.h (TC_EQUAL_IN_INSN, TC_EOL_IN_INSN): Define.
+
+ * config/tc-hppa.c (md_apply_fix_1): Keep relocations for
+ out-of-range branches/'calls using "bl" or calls which may need
+ argument relocation stubs. Do not need/keep relocations for
+ conditional branches.
+ (elf_hppa_final_processing): Fix calculation of function size.
+
+ * config/obj-elf.c (obj_elf_version): Mark .note section as
+ READONLY.
+
+ * config/tc-hppa.c (parse_cons_expression_hppa): Pass exp, not the
+ address of exp, to expression.
+ (pa_build_unwind_subspace): Turn SEC_HAS_CONTENTS flag on.
+ (md_apply_fix_1): Delete unwanted comments.
+ (process_exit): Symbols marking the end of a function are always
+ BSF_LOCAL.
+
+ * config/tc-hppa.c: Include elf32-hppa.h from BFD tree.
+ (pa_space): Declare and initialize gdb_section.
+
+ * config/obj-elf.c (elf_frob_file): Change
+ elf_tc_final_processing_hook to elf_tc_final_processing.
+
+ * config/tc-hppa.c (fix_new_hppa): Fix argument list to match
+ argument type declarations.
+ (getExpression): Fix typo.
+ (pa_export_args): Change elf_symbol_type to elf32_symbol_type.
+ (elf_hppa_final_processing): Likewise. Name changed from
+ elf_hppa_final_processing_hook.
+ (start_symbol_root, start_symbol_last): Deleted.
+
+ * config/tc-hppa.h (TC_PARSE_CONS_EXPRESSION): Fix typo.
+
+ * config/tc-hppa.h: Replace "symbolS" with "struct symbol" to
+ avoid changing include ordering.
+
+ * config/tc-hppa.c (pa_ip, case 'y'): Handle just like 't'.
+
+Mon Aug 23 12:47:58 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
+
+ * config/tc-mips.c (set_at): Added unsignedp argument. Use
+ load_register.
+ (set_at_unsigned): Removed; changed callers to use set_at.
+ (load_register): Removed unused ip argument. Changed callers.
+ (append_insn): Don't swap branch and branch likely.
+ (macro_build): Handle 'u'.
+ (load_register): Handle 64 bit constants.
+ (macro): Added M_DABS, removed M_ABSU. Numerous changes to
+ support 64 bit constants.
+ (mips_ip): Use hex constants in range checks for clarity.
+ (md_number_to_chars): Support 8 byte values.
+
+Fri Aug 20 16:50:59 1993 K. Richard Pixley (rich@sendai.cygnus.com)
+
+ * config/tc-m88k.h: updated copyrights.
+ (TC_CONS_RELOC): declare to be RELOC_32.
+
+Fri Aug 20 11:16:44 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
+
+ * config/tc-mips.c (mips_isa): New static variable.
+ (md_begin): Initialize mips_isa based on TARGET_CPU. Don't sanity
+ check macros. Set text alignment and GP size here.
+ (md_assemble): Don't set text alignment and GP size here.
+ (append_insn): Don't insert NOPs for load delays if mips_isa >= 2.
+ Use the right mask and shift for WRITE_FPR_T and WRITE_FPR_S. Add
+ a NOP after a branch likely.
+ (mips_emit_delays): Don't insert NOPS for load delays if mips_isa
+ >= 2.
+ (macro): Support r6000 and r4000 macros.
+ (mips_ip): Check insn ISA level against mips_isa before using it.
+ Added 'x' case for ignored register.
+ (md_parse_option): Handle -mipsN and -mcpu=XX.
+
+Fri Aug 20 01:26:52 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
+
+ * config/tc-i386.c (md_pseudo_table) [OBJ_ELF]: Handle ".zero".
+
+Thu Aug 19 12:15:18 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
+
+ * config/tc-sparc.c (s_local): Function moved and renamed...
+ * config/obj-elf.c (obj_elf_local): ...to here.
+ * config/tc-sparc.c (md_pseudo_table), config/obj-elf.c
+ (obj_pseudo_table): Move handling of ".local".
+
+ * tc.h (md_parse_option): Don't declare if defined as a macro.
+
+ * config/tc-i386.h (NO_RELOC) [BFD_ASSEMBLER]: Define as
+ BFD_RELOC_NONE.
+ (md_parse_option): New macro, converted from function.
+ * config/tc-i386.c (md_parse_option): Function deleted.
+ (comment_chars) [OBJ_ELF]: Include "/".
+ (line_comment_chars) [OBJ_ELF || TE_I386AIX]: Don't include "/".
+ (md_assemble): Cast 0xe9 to char explicitly, to avoid compiler
+ warning.
+ (md_assemble, md_estimate_size_before_relax, md_create_long_jump):
+ Call reloc for fix_new type, or use correct enumerator, instead of
+ always using NO_RELOC.
+ (i386_operand): Change "ifndef I386COFF" to "ifdef OBJ_AOUT" for
+ tests for valid section.
+ (md_convert_frag) [BFD_ASSEMBLER]: Compensate for frag start
+ address.
+ (md_apply_fix_1) [BFD_ASSEMBLER]: For pc-relative reloc with
+ symbol, compensate for location of reloc.
+ (reloc, BFD_RELOC_32, BFD_RELOC_32_PCREL) [!BFD_ASSEMBLER]: Define
+ to return zero.
+
+Wed Aug 18 16:51:29 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
+
+ * config/obj-elf.c: Undef NO_RELOC before including aout/aout64.h.
+ (obj_elf_weak): New function.
+ (obj_pseudo_table): Handle ".weak".
+ (obj_elf_section): If section directive includes a string, ignore
+ it for now. Accept "progbits" flag.
+ (obj_elf_type): Accept `@' before flag name.
+
+ * write.c (relax_and_size_seg) [BFD_ASSEMBLER]: Get rid of `if(1)'
+ condition.
+ (fixup_segment) [BFD_ASSEMBLER]: Use bfd_is_com_section, rather
+ than checking for bfd_com_section directly.
+ (fixup_segment): Simplify range check.
+ (fixup_segment) [OBJ_COFF && TC_I960]: Simplify cpp condition
+ test.
+
+ * symbols.h (S_SET_WEAK): Declare.
+ * symbols.c (S_SET_WEAK): New function.
+ (S_SET_EXTERNAL, S_CLEAR_EXTERNAL): Don't bother with BSF_EXPORT,
+ it's not a separate flag any more. Clear BSF_WEAK.
+
+ * read.c (potable): Treat "string" like "asciz".
+
+Wed Aug 18 15:30:29 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
+
+ * config/tc-mips.c (append_insn): Don't swap branch instructions
+ if .set nobopt or .set volatile.
+ (gp_reference): .lit8 and .lit4 are accessed via the GP register.
+ (macro): Added cases M_LI_S, M_LI_SS. Fixed M_LI_D and M_LI_DD.
+ (mips_ip): Added cases 'F', 'L', 'f', 'l' for floating point.
+ * config/obj-ecoff.c: Renamed some variables to avoid shadow
+ warnings.
+
+Mon Aug 16 14:16:02 1993 david d `zoo' zuhn (zoo@rtl.cygnus.com)
+
+ * config/obj-coff.h (S_IS_COMMON): add missing backslash
+
+ * configure.in (z8k-*-{coff,sim}): use coffbfd for this target
+
+Thu Aug 12 11:47:58 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
+
+ * config/tc-mips.c (mips_ip): Suggested by
+ davidj@ICSI.Berkeley.EDU (David Johnson): Don't accept symbolic
+ names for 'E' and 'G' argument types (coprocessor registers) and
+ don't warn if $1 is used on the coprocessor.
+ (macro): Handle M_{L,S}WC{0,2,3}_AB correctly.
+
+Mon Aug 9 12:09:14 1993 Doug Evans (dje@canuck.cygnus.com)
+
+ * read.c (emit_expr): Use BFD_RELOC_16 for 2-byte values.
+ * config/tc-sparc.c (md_apply_fix, tc_gen_reloc): Handle
+ BFD_RELOC_16.
+ * config/tc-sparc.h (WORKING_DOT_WORD): Define.
+
+Mon Aug 9 13:36:22 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
+
+ * write.c (merge_data_into_text): Define only if BFD_ASSEMBLER is
+ defined or BFD is not.
+ (relax_and_size_all_segments): Declare local variable fragP.
+
+Fri Aug 6 15:22:53 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
+
+ * config/tc-sparc.c (md_apply_fix, case BFD_RELOC_32): Fill in
+ bytes with real values, not zeros.
+
+Fri Aug 6 10:57:59 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
+
+ * configure.in (mips-*-riscos*, mips-*-sysv*): New (untested)
+ targets, using ecoff and mips-big.
+
+ * config/tc-mips.c (mips_ip): From davidj@ICSI.Berkeley.EDU (David
+ Johnson): Added case for 'C' for coprocessor instruction codes.
+
+Thu Aug 5 13:08:56 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
+
+ * config/obj-elf.c (obj_pseudo_table): Handle ".8byte".
+
+ * read.c (emit_expr): Use BFD_RELOC_64 for 8-byte expressions.
+
+ * write.c (write_object_file): Test DEBUG_SYMS instead of DEBUG
+ for verifying symbol chain.
+ (merge_data_into_text, relax_and_size_all_segments): New
+ functions, split out from write_object_file.
+
+Tue Aug 3 15:43:55 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
+
+ * config/obj-elf.c (obj_elf_stab_generic, in disabled code): If
+ debug section is new, allocate an extra 12 bytes at its start. If
+ ".stabs" type is N_SO, fill in filename symbol field of that first
+ entry. Return early if "goof", to simplify later code slightly.
+ (adjust_stab_sections): New function.
+ (elf_frob_file): Apply adjust_stab_sections to each section.
+
+ * config/obj-elf.c (obj_elf_section, obj_elf_previous): No longer
+ static.
+ * config/obj-elf.h (obj_elf_section, obj_elf_previous): Declare.
+ * config/tc-sparc.c (md_pseudo_table): Call them for "pushsection"
+ and "popsection", and call cons for "uaword" and "uahalf".
+
+ * config/obj-elf.c (obj_elf_version): Use English in error
+ messages.
+
+Tue Aug 3 11:29:06 1993 Ian Lance Taylor (ian@cygnus.com)
+
+ * config/obj-ecoff.c: Updated for BFD ECOFF changes. Now gets the
+ swapping routines and external structure sizes via the
+ ecoff_backend information. No longer includes coff/mips.h.
+
+Mon Aug 2 17:35:48 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
+
+ * config/obj-ecoff.c (get_tag): Save tag name in permanent memory
+ and in hash_ptr->string.
+
+ * app.c (do_scrub_next_char): Reset state to 0 after .appline if
+ file name is not seen.
+
+Thu Jul 29 22:21:28 1993 Ian Lance Taylor (ian@cygnus.com)
+
+ * write.c: Don't use short int in a prototype.
+
+ * expr.c (operand): Make return value simply depend on contents of
+ returned expression.
+
+Thu Jul 29 18:38:37 1993 david d `zoo' zuhn (zoo@rtl.cygnus.com)
+
+ * configure.in: sparc*-aout and sparc*-vxworks are BFD assemblers
+
+Thu Jul 29 18:38:37 1993 david d `zoo' zuhn (zoo@rtl.cygnus.com)
+
+ * config/ho-sunos.h: remove some old function decls that conflict
+ w/ ANSI, and which weren't needed anyway
+
+Wed Jul 28 16:34:55 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
+
+ * config/obj-elf.h (obj_frob_symbol): Renamed from tc_frob_symbol,
+ and disabled since it breaks Ian's new symbol-value code.
+
+ * expr.c (integer_constant): Accept more digits if BFD64.
+
+Wed Jul 28 11:30:05 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
+
+ * config/tc-m68k.c (m68k_ip): If we have a normal constant when we
+ expect a bignum, turn it into a bignum. Output extra zeroes
+ before a short bignum, rather than after.
+
+Tue Jul 27 15:54:27 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
+
+ * symbols.c (symbol_new): Conditionalize verify_symbol_chain call
+ on DEBUG_SYMS, not DEBUG.
+ (symbol_remove): Likewise.
+ (symbol_insert): Likewise.
+
+Tue Jul 27 08:45:05 1993 Ian Lance Taylor (ian@cygnus.com)
+
+ * config/tc-mips.c (mips_optimize): New static variable.
+ (append_insn): If mips_optimize == 0, always insert NOP
+ instructions. If mips_optimize < 2, don't swap branches.
+ (md_parse_option): If -Ox or -gx, set mips_optimize accordingly.
+
+Mon Jul 26 18:02:43 1993 K. Richard Pixley (rich@sendai.cygnus.com)
+
+ * Makefile.in (clean): if testsuite does not exist, then skip it.
+
+Fri Jul 23 14:13:25 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
+
+ * config/tc-mips.c (prev_insn_unreordered,
+ prev_prev_insn_unreordered): New static variables.
+ (append_insn): Don't swap branch instruction if
+ prev_prev_insn_unreordered (see comment).
+ (mips_no_prev_insn): Clear the unreordered variables.
+ (s_mipsset): When turning on reordering, set the unreordered
+ variables.
+
+Fri Jul 23 13:09:44 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
+
+ * config/obj-elf.c (obj_elf_section): Sections ".init" and ".fini"
+ are also magic, and have special default flag settings.
+ (obj_elf_frob_symbol): Since the return value from this function
+ isn't used, don't bother calling obj_elf_write_symbol_p, since it
+ doesn't accomplish anything else.
+
+ * config/tc-sparc.c (md_section_align): Round up section size only
+ for a.out format.
+
+ * symbols.c: Don't define DEBUG by default.
+
+Thu Jul 22 12:09:41 1993 Ian Lance Taylor (ian@cygnus.com)
+
+ * write.c (fix_new_exp): Handle a O_uminus expression.
+
+ * expr.c (expr): Don't let absolute_section override
+ undefined_section for the return value.
+
+ * read.c (read_a_source_file): In NO_PSEUDO_DOT case, if we find a
+ pseudo-op with a poc_handler field of NULL, ignore it and treat it
+ as an instruction instead.
+ * config/tc-m88k.c (md_pseudo_table): Add "set" with a NULL
+ poc_handler field.
+
+ * config/tc-h8500.c (md_begin): Use a local variable when
+ initializing md_relax_table to avoid warnings about modifying a
+ supposedly const data structure.
+
+Thu Jul 22 10:58:51 1993 Brendan Kehoe (brendan@lisa.cygnus.com)
+
+ * config/obj-aout.c: Only include aout/aout64.h if BFD_ASSEMBLER
+ is defined.
+
+Wed Jul 21 17:32:02 1993 Fred Fish (fnf@deneb.cygnus.com)
+
+ * configure.in (case ${host}): Map *-*-sysv4* to gas_host=sysv.
+ * configure.in (case ${generic_target}): Add i[34]86-*-sysv4*
+ case to set obj_format=elf. Must go before i386-*-sysv* case that
+ sets obj_format=coffbsd. Add *-*-sysv4* to *-*-elf and
+ *-*-solaris case, and move to before *-sysv* case that wants to
+ set obj_format to coff.
+ * config/tc-i386.c (i386_operand): Change all 'exp.X_op' to
+ 'exp->X_op'.
+ * config/tc-i386.c (md_apply_fix): Fix valp to be 'valueT *' for
+ BFD_ASSEMBLER case.
+
+Wed Jul 21 12:47:51 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
+
+ * config/obj-aout.c: Include aout/aout64.h.
+ (obj_aout_frob_symbol): Set BSF_DEBUGGING for a constructor
+ symbol, so that BFD doesn't tamper with the type.
+
+ * read.c (read_a_source_file): If NO_PSEUDO_DOT is defined, look
+ up opcodes as pseudo-ops even if they don't start with '.'.
+ * config/tc-m88k.h (NO_PSEUDO_DOT): Define.
+ * config/tc-m88k.c (md_assemble): Removed special pseudo-op
+ handling.
+ (md_apply_fix): Set fx_offset to the upper 16 bits of the reloc.
+ Output the low 16 bits for RELOC_HI16, not the high 16 bits.
+ * config/obj-coffbfd.c (do_relocs_for): If TC_M88K, set the
+ r_offset field of the reloc to the fixup offset.
+ (fixup_segments): If TC_M88K, don't warn about fixup overflows.
+ * doc/as.texinfo: Minor updates.
+
+Tue Jul 20 19:28:56 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
+
+ * Extensive changes to permit symbols to contain any expression
+ type and to delay the computation of the expression until the
+ value is actually needed. This permits setting symbols to values
+ calculated based on object code size. Expressions were changed to
+ no longer be in a section, to stop the overloading of segment and
+ expression type that previously occurred.
+
+ * as.c (big_section, pass1_section, diff_section, absent_section):
+ Removed.
+ (expr_section): Added (used for dummy symbols which hold
+ intermediate expression values).
+ (perform_an_assembly_pass): Create expr_section, do not create the
+ sections now removed.
+ * as.h (segT): Removed SEG_ABSENT, SEG_PASS1, SEG_BIG, and
+ SEG_DIFFERENCE. Added SEG_EXPR.
+ (SEG_NORMAL): Corresponding changes.
+ * subsegs.c (seg_name, subsegs_begin): Changed accordingly.
+ * write.c (write_object_file): Ditto.
+ * config/obj-aout.c (seg_N_TYPE): Ditto.
+ * config/obj-bout.c (seg_N_TYPE): Ditto.
+ * config/obj-coff.c (seg_N_TYPE): Ditto.
+ * config/obj-coffbfd.c (seg_N_TYPE): Ditto.
+ * config/obj-vms.c (seg_N_TYPE): Ditto.
+
+ * expr.h (operatorT): Moved in from expr.c, added some values.
+ (expressionS): Added X_op field, removed X_seg field; renamed
+ X_subtract_symbol to X_op_symbol.
+ * expr.c: Extensive changes to assign expression types rather than
+ sections and to simplify the parsing.
+ * write.c (fix_new_internal): New static function.
+ (fix_new): Removed sub_symbol argument.
+ (fix_new_exp): New function, takes expression argument.
+ * write.h: Prototype changes for fix_new and fix_new_exp.
+ * cond.c (s_if): Changed accordingly.
+ * read.c (s_lsym, pseudo_set, emit_expr, parse_bitfield_cons,
+ parse_repeat_cons, get_segmented_expression,
+ get_known_segmented_expression, get_absolute_expression): Ditto.
+ * symbols.c (resolve_symbol_value, S_GET_VALUE, S_SET_VALUE):
+ Ditto.
+ * write.c (write_object_file): Ditto.
+ * config/obj-coff.c (obj_coff_def, obj_coff_val): Ditto.
+ * config/obj-coffbfd.c (obj_coff_def, obj_coff_val,
+ obj_coff_endef, yank_symbols): Ditto.
+ * config/obj-elf.c (obj_elf_stab_generic, obj_elf_size): Ditto.
+ * config/tc-a29k.c (md_assemble, parse_operand, machine_ip,
+ print_insn, md_operand): Ditto.
+ * config/tc-h8300.c (parse_exp, colonmod24, check_operand,
+ do_a_fix_imm, build_bytes): Ditto.
+ * config/tc-h8500.c (parse_exp, skip_colonthing, parse_reglist,
+ get_specific, check, insert, md_convert_frag): Ditto.
+ * config/tc-hppa.c (the_insn, fix_new_hppa, cons_fix_new_hppa,
+ md_assemble, pa_ip, getExpression, getAbsoluteExpression,
+ evaluateAbsolute, pa_build_unwind_subspace, pa_entry,
+ process_exit): Ditto.
+ * config/tc-hppa.h (STAB_FIXUP, is_DP_relative, is_PC_relative,
+ is_complex): Ditto.
+ * config/tc-i386.c (pe, md_assemble, i386_operand,
+ md_estimate_size_before_relax, md_create_long_jump): Ditto.
+ * config/tc-i860.c (md_assemble, getExpression, print_insn):
+ Ditto.
+ * config/tc-i960.c (parse_expr, subs, segs, md_convert_frag,
+ get_cdisp, mem_fmt, parse_ldconst, relax_cobr, s_sysproc,
+ i960_handle_align): Ditto.
+ * config/tc-m68k.c (struct m68k_exp, struct m68k_it, seg, op,
+ subs, add_fix, isvar, m68k_ip, md_assemble, md_convert_frag_1,
+ md_estimate_size_before_relax, md_create_long_jump, get_num):
+ Ditto.
+ * config/tc-m88k.c (md_assemble, get_imm16, get_pcr,
+ md_create_short_jump, md_create_long_jump): Ditto.
+ * config/tc-mips.c (md_assemble, append_insn, gp_reference,
+ macro_build, macro, my_getExpression): Ditto. Also removed
+ get_optional_absolute_expression; just use get_absolute_expression
+ instead.
+ * config/tc-ns32k.c (get_addr_mode, evaluate_expr, convert_iif,
+ fix_new_ns32k, fix_new_ns32k_exp, cons_fix_new_ns32k): Ditto.
+ * config/tc-ns32k.h (fix_new_ns32k prototype): Ditto.
+ * config/tc-sh.c (parse_exp, check, insert, md_convert_frag):
+ Ditto.
+ * config/tc-sparc.c (md_assemble, sparc_ip, getExpression,
+ print_insn): Ditto.
+ * config/tc-tahoe.c (struct top, md_estimate_size_before_relax,
+ tip_op, md_assemble): Ditto.
+ * config/tc-vax.c (seg_of_operand, md_assemble,
+ md_estimate_size_before_relax, md_create_long_jump): Ditto.
+ * config/tc-z8k.c (parse_exp, check_operand, newfix): Ditto.
+
+Tue Jul 20 12:17:16 1993 david d `zoo' zuhn (zoo@rtl.cygnus.com)
+
+ * configure.in: i386-lynx is the same as i386-coff
+
+Mon Jul 19 15:21:20 1993 Ken Raeburn (raeburn@rtl.cygnus.com)
+
+ * config/obj-elf.c (obj_elf_previous): New function.
+ (previous_section, previous_subsection): New vars.
+ (obj_elf_section): Save current place in case DWARF code wants us
+ to pop back to it. Handle unquoted section name as well as quoted
+ section name. Don't crash on invalid strings.
+ (obj_pseudo_table): Handle new pseudos "previous", "2byte", and
+ "4byte".
+
+ * config/obj-elf.h: Don't include struc-symbol.h.
+ (obj_elf_frob_symbol): Declare arg as struct symbol *.
+
+ * tc-sparc.h (LOCAL_LABEL) [OBJ_ELF]: Local labels can start with
+ "L" or "_.L_".
+
+ * write.c (write_relocs): New function, split off from
+ write_contents. Use memset instead of bzero.
+ (write_object_file): Apply write_relocs to each section before
+ applying write_contents.
+
+ * read.c (read_begin): Call obstack_begin with values closer to 1K
+ multiples.
+ (read_a_source_file, big_cons, float_cons): Use memcpy instead of
+ bcopy.
+
+Mon Jul 19 14:30:00 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
+
+ * config/tc-m68k.c (m68k_ip_op): Don't decrement strend when
+ calculating opP->isiz; this permits the expression size to be
+ determined as well, later on.
+
+ * expr.c (clean_up_expression): Don't cancel the subtraction of
+ undefined symbols.
+
+ * read.c (s_data), config/obj-coffbfd.c (obj_coff_data): If -R,
+ switch to text section rather than data section.
+
+Mon Jul 19 12:35:39 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
+
+ * config/tc-m68k.c (m68k_ip, case AINDX): Add 6 to operand
+ expression (to take the pc-rel instruction itself into account)
+ before using the expression, instead of after.
+
+Fri Jul 16 08:56:04 1993 Ian Lance Taylor (ian@cygnus.com)
+
+ * read.c (float_cons): Simplified parsing logic. If
+ REPEAT_CONS_EXPRESSIONS is defined, accept a repeat count.
+
+ * symbols.c (colon): Rather than a special case for TC_HPPA,
+ use new macro tc_frob_label.
+ * config/tc-hppa.h (tc_frob_label): Define.
+
+ * config/tc-mips.c: Many changes to support simple assembler
+ optimization.
+ (insn_label, prev_insn, prev_prev_insn, dummy_opcode,
+ prev_insn_valid, prev_insn_frag, prev_insn_where,
+ prev_insn_fixp, prev_insn_is_delay_slot): New static
+ variables.
+ (insn_uses_reg, mips_no_prev_insn, mips_emit_delays,
+ mips_align, s_stringer, s_mips_space): New static functions.
+ (mips_define_label): New global function.
+ (md_pseudo_table): For "ascii", "asciz", "asciiz", call
+ s_stringer. Changed argument to float_cons from 0 or 1 to 'f'
+ or 'd'. For "space" call s_mips_space.
+ (md_begin): Call mips_no_prev_insn.
+ (append_insn): Only insert necessary NOP instructions.
+ (macro): Call mips_emit_delays before setting mips_noreorder.
+ Increment and decrement mips_noreorder rather than using
+ save_reorder_condition. Don't bother to use noreorder in
+ M_L_DOB and M_L_DAB, since append_insn will not insert a NOP.
+ (md_atof): Handle floating point numbers correctly for both
+ big and little endian targets.
+ (s_align, s_cons): Call mips_align rather than frag_align.
+ (s_change_seg, s_cons): Call mips_emit_delays.
+ (s_float_cons): Let float_cons do the work.
+ (s_mipsset): Call mips_emit_delays when setting noreorder.
+ * config/tc-mips.h (tc_frob_label): Define to be
+ mips_define_label.
+
+ * config/obj-ecoff.c (ecoff_build_symbols, ecoff_build_procs,
+ ecoff_frob_files): Consistently use S_GET_VALUE rather than
+ bfd_asymbol_value. Warn if taking difference of symbols in
+ different segments.
+
+Thu Jul 15 11:51:03 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
+
+ * config/obj-ecoff.c (ecoff_frob_file): Discard all open scopes,
+ with a warning.
+
+ * config/obj-coffbfd.c (fixup_segment): If TC_M88K, don't adjust
+ by md_pcrel_from if we are relocating against a symbol (we still
+ need md_pcrel_from for a PC relative relocation within the same
+ file).
+ * config/tc-m88k.c (md_pcrel_from): Corrected return value.
+ (omagic): Removed unused variable.
+
+ * Preliminary support for m88k-coff.
+ * configure.in (m88k-*-coff*): New target. Use coffbfd and
+ m88kcoff.
+ * config/m88kcoff.mt: New file.
+ * read.c (lex_type): New macro LEX_AT to set lex type of '@'.
+ (pseudo_set): Handle difference of symbols in different fragments
+ by saving the entire expression as the value of the symbol.
+ * symbols.c (resolve_symbol_value): Resolve difference
+ expressions.
+ * config/obj-coffbfd.c (obj_pseudo_table): If TC_M88K, accept
+ "sdef" as a synonym for "def".
+ * config/obj-coffbfd.h: If TC_M88K, include coff/m88k.h and set
+ TARGET_FORMAT.
+ (S_IS_LOCAL): Any symbol which includes \001 in the name is local.
+ * config/tc-m88k.c, config/tc-m88k.h: Numerous changes to bring
+ m88k port up to date, and to add COFF support.
+
+Wed Jul 14 15:09:32 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
+
+ * Removed sy_forward and replaced it with an undefined expression
+ as the value of a symbol.
+ * struc-symbol.h (struct symbol): Removed sy_forward field. Added
+ sy_resolved and sy_resolving single bit fields.
+ * symbols.c (symbol_new): Don't initialize sy_forward field.
+ (resolve_symbol_value): New function to adjust symbol value by
+ fragment address, using recursion to resolve forward symbols.
+ * symbols.h: Added prototype for new function.
+ * read.c (pseudo_set): Set symbolP->sy_value to an undefined
+ expression rather than setting symbolP->sy_forward.
+ * write.c (write_object_file): Use resolve_symbol_value on
+ symbols, keeping the common case (the old behaviour) inline.
+ * config/obj-aout.c (obj_aout_frob_symbol): Removed sy_forward
+ handling (subsumed by write.c change).
+ * config/obj-coff.c, config/obj-coffbfd.c (obj_coff_val): Set
+ sy_value rather than sy_forward.
+ * config/obj-coffbfd.c (obj_coff_endef, yank_symbols): Check
+ expression segment rather than sy_forward.
+ (yank_symbols): Use resolve_symbol_value.
+ (crawl_symbols): Removed extra pass over symbols.
+ * config/obj-aout.c, config/obj-bout.c, config/obj-coff.c,
+ config/obj-vms.c (obj_crawl_symbol_chain): Removed extra pass over
+ symbols which handled sy_forward; use resolve_symbol_value
+ instead.
+ * config/obj-coff.h, config/obj-coffbfd.h (obj_frob_forward_symbol):
+ Define.
+ * config/obj-elf.c (obj_elf_stab_generic): Check expression
+ segment rather than sy_forward.
+ * config/obj-vms.c (VMS_Check_For_Main): Don't initialize
+ sy_forward; do initialize sy_resolved and sy_resolving.
+ * config/tc-hppa.h (STAB_FIXUP): Use sy_value, not sy_forward.
+
+ * Changes to keep a full expression as the value of a symbol, not
+ just a longword:
+ * struc-symbol.h: New field sy_value.
+ * as.h: Include expr.h before struc-symbol.h.
+ * expr.h: Use struct symbol rather than symbolS.
+ * symbols.c (S_GET_VALUE, S_SET_VALUE): Rewrote to retrieve value
+ of sy_value field; compile unconditionally, not just if
+ BFD_ASSEMBLER.
+ * symbols.h: Compile S_{SG}ET_VALUE prototypes unconditionally.
+ * write.c (write_object_file): Set BFD symbol value to gas symbol
+ value.
+ * config/obj-aout.h, config/obj-bout.h, config/obj-coff.h,
+ config/obj-coffbfd.h, config/obj-generic.h, config/obj-vms.h
+ (S_GET_VALUE, S_SET_VALUE): Removed macro definitions.
+ * config/obj-ieee.c (S_GET_VALUE, S_SET_VALUE): Removed.
+ * config/obj-coff.h, obj-coffbfd.h: Rewrote several macros to use
+ S_GET_VALUE rather than ost_entry.n_value.
+ * config/obj-aout.c (obj_symbol_to_chars), config/obj-bout.c
+ (obj_symbol_to_chars), config/obj-coff.c (obj_symbol_to_chars),
+ config/obj-coffbfd.c (symbol_to_chars): Get value to write out
+ using S_GET_VALUE--don't assume it is already set.
+ * config/obj-ieee.c (do_symbols): Set BFD symbol value to gas
+ symbol value.
+ * config/obj-vms.c (various): Don't assign directly to
+ S_GET_VALUE; use S_SET_VALUE instead.
+
+Wed Jul 14 09:35:23 1993 Doug Evans (dje@canuck.cygnus.com)
+
+ * configure.in: Recognize h8300h.
+
+Tue Jul 13 12:09:44 1993 Steve Chamberlain (sac@phydeaux.cygnus.com)
+
+ * config/tc-h8500.c (line_comment_chars): Add hash.
+ (parse_exp, skip_colonthing, build_bytes): Add support for
+ R_H8500_HIGH16 relocation type.
+
+Mon Jul 12 11:15:34 1993 Ken Raeburn (raeburn@deneb.cygnus.com)
+
+ * config/obj-elf.c (obj_elf_section): Allow `@' to introduce an
+ attribute name. Handle `execinstr' attribute.
+
+Mon Jul 12 07:22:28 1993 Ian Lance Taylor (ian@cygnus.com)
+
+ * config/tc-mips.c (mips_ip): Don't warn on 'i' or 'j' mismatch if
+ there is another alternative for the instruction.
+
+Fri Jul 9 17:31:34 1993 Roland H. Pesch (pesch@fowanton.cygnus.com)
+
+ * doc/as.texinfo: updates for H8/300H
+
Thu Jul 8 14:41:43 1993 Mark Eichin (eichin@cygnus.com)
* config/tc-i960.c (md_create_short_jump, md_create_long_jump,