* config/tc-mips.c (cons_fix_new_mips): New function. Turn
[deliverable/binutils-gdb.git] / gas / ChangeLog
index 9be2a2313736143dc14fa23eab1d457bc6b7e286..5f77533a5ab3ace71cfc8e8664347d30e41f8d08 100644 (file)
+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,
This page took 0.052557 seconds and 4 git commands to generate.