* doc/as.texinfo: Document irp, irpc, macro, and rept. MRI mode
[deliverable/binutils-gdb.git] / gas / ChangeLog
index d8084cf43ffab01d74ed4de1562b39530c65731e..780d2a335100b5bb7da63be07f26054e47a723fc 100644 (file)
+Mon Aug 21 13:57:20 1995  Ian Lance Taylor  <ian@cygnus.com>
+
+       * doc/as.texinfo: Document irp, irpc, macro, and rept. MRI mode
+       now supports macros, ifc, ifnc, irp, irpc, rept, and endr, without
+       using gasp.
+
+       Add support for macros.
+       * as.c: Include sb.h and macro.h.
+       (max_macro_next): New global variable.
+       (main): Call macro_init.
+       (macro_expr): New static function.
+       * as.h (max_macro_nest): Declare.
+       * read.c (line_label): Rename from mri_line_label.  Change all
+       uses.
+       (potable): Add exitm, irp, irpc, macro, mexit, rept.
+       (read_a_source_file): Always clear line_label at the start of a
+       line, not just when flag_mri or LABELS_WITHOUT_COLONS.  Fixup
+       MRI/LABELS_WITHOUT_COLONS handling.  In MRI mode, permit label:
+       equ val.  Set line_label when calling colon.  In MRI mode, a
+       leading '.' does not imply a pseudo-op.  Check for macro expansion
+       before calling md_assemble.
+       (s_irp): New function.
+       (get_line_sb): New static function.
+       (s_macro): New function.
+       (s_mexit): New function.
+       (s_rept): New function.
+       * read.h (line_label): Rename from mri_line_label.
+       (s_irp, s_rept): Declare.
+       (s_macro, s_mexit): Declare.
+       * input-scrub.c: Include sb.h.
+       (sb_index, from_sb): New static variables.
+       (macro_nest): New static variable.
+       (struct input_save): Add sb_index and from_sb fields.  Change
+       next_saved_file field to be struct input_save *.
+       (next_saved_file): Changed to be struct input_save *.
+       (input_scrub_push): Change to return type struct input_save *.
+       Save sb_index and from_sb.
+       (input_scrub_pop): Change parameter type to struct input_save *.
+       Restore sb_index and from_sb.
+       (input_scrub_include_sb): New function.
+       (input_scrub_next_buffer): Handle reading from from_sb.
+       (bump_line_counters): Only increment lines if not using from_sb.
+       * config/tc-m68k.c (opt_table): Add nest.
+       (opt_nest): New static function.
+       * gasp.c: Include sb.h and macro.h.  Move all sb related functions
+       and definitions to sb.h and sb.c.  Move all macro related
+       functions and definitions to macro.h and macro.c.
+       * sb.h, sb.c: New files, extracted from gasp.c.
+       * macro.h, macro.c: Likewise.
+       * Makefile.in (OBJS): Add sb.o and macro.o
+       (GASPOBJS): Define.
+       (gasp.new): Depend upon $(GASPOBJS).  Use $(GASPOBJS) to link.
+       (TARG_CPU_DEP_m68k): Depend upon subsegs.h.
+       (gasp.o): Depend upon sb.h and macro.h.
+       (sb.o): New target.
+       (macro.o): New target.
+       (as.o): Depend upon sb.h and macro.h.
+       (input-scrub.o): Depend upon sb.h.
+       (read.o): Depend upon sb.h and macro.h.
+
+       * cond.c (get_mri_string): New static function.
+       (s_ifc): New function.
+       * read.c (potable): Add ifc and ifnc.
+       * read.h (s_ifc): Declare.
+
+       * app.c (do_scrub_begin): In MRI mode, set lex of ' to
+       LEX_IS_STRINGQUOTE.
+
+Mon Aug 21 13:41:33 1995  Michael Meissner  <meissner@cygnus.com>
+
+       * config/tc-ppc.c (md_assemble): Allow @HA, @L, and @H suffixes on
+       constant expressions.
+
+Sun Aug 20 15:54:37 1995  Jim Wilson  <wilson@cygnus.com>
+
+       * config/tc-arm.c (md_reloc_size): Add const to declaration.
+
+Fri Aug 18 10:58:09 1995  Ian Lance Taylor  <ian@cygnus.com>
+
+       * read.c (s_include): In MRI mode, don't expect quotes around the
+       file name.
+       * listing.c (listing_title): Don't require the title to be quoted.
+
+       * gasp.c (include_print_where_line): Always subtract 1 from
+       linecount before printing it.
+       (process_file): In MRI mode, lines beginning with '*' or '!' are
+       comments.
+       (do_reg): In MRI mode, don't require parentheses.
+       (do_include): In MRI mode, don't requires quotes.  If the file can
+       not be found in the include path, try opening it in the current
+       directory.  Print the file name correctly in the error message.
+       (chartype_init): In MRI mode, set FIRSTBIT for '.'.
+       (main): Set comment_char to ';' when entering MRI mode.
+
+       * config/tc-m68k.c: Include subsegs.h.
+       (m68k_ip): Pass 64 rather than -1 to add_Fix in 'B' 'B' case.
+       (md_pcrel_from): If fx_pcrel_adjust is 64, use -1 instead.
+
+       * config/tc-sparc.h (tc_fix_adjustable): For OBJ_AOUT case, adjust
+       BFD_RELOC_16 and BFD_RELOC_32 relocs.
+
+Wed Aug 16 14:48:44 1995  Ken Raeburn  <raeburn@kr-laptop.cygnus.com>
+
+       * as.h (alloca): Use void* declaration on HP/UX.
+
+Wed Aug 16 12:49:17 1995  Ian Lance Taylor  <ian@cygnus.com>
+
+       * config/tc-sparc.c (tc_gen_reloc): If PIC, only change PCREL_S2
+       to WPLT30 for an undefined or external symbol.  Don't consider
+       PC10 or PC22 to be a PC relative reloc when choosing between
+       fx_addnumber and fx_offset.
+
+       * config/tc-z8k.c (md_number_to_chars): Don't do it here, call
+       number_to_chars_bigendian.
+       * config/tc-z8k.h (TARGET_BYTES_BIG_ENDIAN): Define.
+
+       * expr.c (operand): Add support for .startof. and .sizeof. by
+       using magic symbol names which the linker will recognize
+       specially.
+       * doc/as.texinfo: Take out note that .startof. and .sizeof. are
+       not supported.
+
+Tue Aug 15 15:08:49 1995  Ian Lance Taylor  <ian@cygnus.com>
+
+       * config/tc-m68k.c (md_pseudo_table): Add MRI structured control
+       directives: if, if.b, if.w, if.l, else, else.s, else.l, endi,
+       break, break.s, break.l, next, next.s, next.l, for, for.b, for.w,
+       for.l, endf, repeat, until, until.b, until.w, until.l, while,
+       while.b, while.w, while.l, endw.
+       (enum mri_control_type): Define.
+       (struct mri_control_info): Define.
+       (mri_control_stack): New static variable.
+       (mri_control_index): New static variable.
+       (mri_control_label): New static function.
+       (push_mri_control, pop_mri_control): New static functions.
+       (parse_mri_condition): New static function.
+       (parse_mri_control_operand): New static function.
+       (swap_mri_condition, reverse_mri_condition): New static functions.
+       (build_mri_control_operand): New static function.
+       (parse_mri_control_expression): New static function.
+       (s_mri_if, s_mri_else, s_mri_endi): New static functions.
+       (s_mri_break, s_mri_next): New static functions.
+       (s_mri_for, s_mri_endf): New static functions.
+       (s_mri_repeat, s_mri_until): New static functions.
+       (s_mri_while, s_mri_endw): New static functions.
+       * gasp.c (mrikinfo): Remove IF.
+       * expr.c (get_symbol_end): Accept \001 as part of a name.
+
+       * symbols.c (colon): Change parameter to const char *.
+       * symbols.h (colon): Update declaration.
+
+Mon Aug 14 20:51:56 1995  Ken Raeburn  <raeburn@kr-laptop.cygnus.com>
+
+       * write.c (write_contents): Always do it the BFD_FAST_SECTION_FILL
+       way.  Reformat and reindent that code to GNU standards.
+       (BFD_FAST_SECTION_FILL): Don't define.
+
+Mon Aug 14 14:08:07 1995  Jeff Law  (law@snake.cs.utah.edu)
+
+       * config/tc-hppa.c (md_apply_fix): Don't try to apply BEGIN_BRTAB
+       or END_BRTAB fixups.
+
+Mon Aug 14 15:45:07 1995  Ian Lance Taylor  <ian@cygnus.com>
+
+       * gasp.c (do_align, get_any_string): Mark as static.
+       (do_assigna, do_assignc, new_file): Likewise.
+
+       * config/tc-m68k.c (s_reg): Rename local op to rop to avoid
+       confusion with macro op.
+
+       * gasp.c (strip_comments): Comment out; it's not used.
+       (do_end): Add parameter.  In MRI mode, print it out.
+       (do_irp): New static function.
+       (sub_actual): Change parameter m to formal_hash, changing type
+       from macro_entryh * to hash_table *.
+       (macro_expand_body): New static function, broken out of
+       macro_expand.
+       (macro_expand): Call macro_expand_body.
+       (K_*): Fully parenthesize.
+       (K_IRP, K_IRPC): Define.
+       (mrikinfo): Add IRP and IRPC.
+       (process_pseudo_op): In MRI mode, print out END pseudo-op.  Pass
+       line to do_end.  Handle K_IRP and K_IRPC.
+
+       * config/tc-m68k.c (s_opt): Reset *input_line_pointer even if we
+       don't do anything with the option.
+
+Sun Aug 13 17:03:58 1995  Ian Lance Taylor  <ian@cygnus.com>
+
+       * frags.c (frag_align): Handle absolute_section.
+       * write.c (record_alignment): Likewise.
+
+       * config/tc-mips.c (macro_build): Skip insns with an inappropriate
+       ISA level.
+
+Sun Aug 13 00:35:02 1995  Jeff Law  (law@snake.cs.utah.edu)
+
+       * config/tc-hppa.c (md_pseudo_table): Add entries for
+       "begin_brtab" and "end_brtab" pseudo-ops.
+       (pa_brtab): New function.
+       (tc_gen_reloc, SOM version): Handle R_BEGIN_BRTAB and R_END_BRTAB.
+       (hppa_force_relocation): Force relocations for BRTAB fixups
+       when OBJ_SOM is defined.
+
+Fri Aug 11 20:34:05 1995  Ken Raeburn  <raeburn@kr-laptop.cygnus.com>
+
+       * Makefile.in (TE_OBJS): Add empty definition.
+
+Fri Aug 11 19:16:08 1995  Ian Lance Taylor  <ian@cygnus.com>
+
+       * gasp.c (change_base): Don't treat ' specially in MRI mode.
+       (process_file): Don't warn about missing END in MRI mode.
+       (do_if): New static function.
+       (get_mri_string, do_ifc): New static functions.
+       (buffer_and_nest): Treat MRI mode like alternate syntax mode.
+       (do_aendr): Change error message in MRI mode.
+       (do_arepeat): Use REPT/ENDR in MRI mode.
+       (do_formals): In MRI mode, add special NARG formal.
+       (macro_expand): Various changes for MRI mode: permit a qualifier
+       on the macro name; set special NARG formal; permit unnamed
+       positional arguments; use && to concatenate named parameters;
+       permit \d to specify an unnamed parameter; permit named parameters
+       to not start with \; use == to see if a parameter exists.
+       (getstring): In MRI mode, allow <> to quote a string.
+       (K_IFEQ, K_IFNE, K_IFLT, K_IFLE, K_IFGE, K_IFGT): Define.
+       (K_IFC, K_IFNC): Define.
+       (struct keyword): Name structure used in kinfo array.
+       (mrikinfo): New static array.
+       (process_pseudo_op): Don't require leading '.' in MRI mode.
+       Handle new MRI pseudo-op definitions.
+       (add_keyword): New static function, broken out of process_init.
+       (process_init): Use add_keyword.  In MRI mode, add mrikinfo table.
+       (long_options): Add "mri".
+       (show_usage): Mention -M/--mri.
+       (main): Call process_init after processing arguments.  Handle -M.
+       * doc/gasp.texi: Document -M/--mri.
+
+       * gasp.c: Include ansidecl.h.  Make all local functions static.
+        Add prototypes for all static functions.
+       (mri): New global variable.
+       (sb_add_char): Change parameter c from char to int.
+       (sb_add_string): Make parameter s into a const pointer.
+       (sb_add_buffer): Likewise.
+       (checkconst): Change parameter op from char to int.
+       (exp_get_abs): Make parameter emsg into a const pointer.
+       (do_res): Change parameter type from char to int.
+       (buffer_and_nest): Make parameters from and to into const
+       pointers.
+       (do_sdata): Change parameter type from char to int.
+       (new_file): Make parameter name into a const pointer.
+       (do_define): Make parameter string into a const pointer.
+
+       * config/tc-h8300.c (md_number_to_chars): Don't do it here, call
+       number_to_chars_bigendian.
+       * config/tc-h8300.h (TARGET_BYTES_BIG_ENDIAN): Define.
+
+Fri Aug 11 13:23:56 1995  Michael Meissner  <meissner@cygnus.com>
+
+       * write.h (struct fix): Add new field fx_no_overflow.
+
+       * write.c (fixup_segment): If fx_no_overflow is non-zero, don't
+       complain if the addend is too large.
+
+       * config/tc-ppc.c (md_assemble): Set fx_no_overflow if the half
+       word relocations BFD_RELOC_{LO16,HI16,HI16_S}.
+
+Thu Aug 10 20:56:38 1995  Ken Raeburn  <raeburn@cygnus.com>
+
+       * read.c (s_mri_sect) [BFD_ASSEMBLER]: Fix typos in choosing and
+       setting section flags.
+
+Thu Aug 10 00:38:11 1995  Ian Lance Taylor  <ian@cygnus.com>
+
+       * doc/as.texinfo: Add documentation for MRI compatibility mode.
+       * doc/as.1: Likewise.
+
+       * config/tc-m68k.c (m68k_ip): When recognizing '#', use isbyte and
+       iword rather than expr8 and expr16.  When recognizing 'M', use
+       issbyte rather than expr8.  When recognizing 'Q' and 't', just
+       check for O_constant rather than using expr8.
+       * config/m68k-parse.h (expr8, expr16): Don't define.
+       * Makefile.in (m68k-parse.o): Depend upon m68k-parse.h, not
+       m68k-parse.y.
+
+       * read.c (potable): Add spc, ttl, xcom, xref.
+       (s_mri_sect): New function.
+       * read.h (s_mri_sect): Declare.
+       * config/obj-coff.c (obj_coff_section) (both versions): In MRI
+       mode, call s_mri_sect.
+       (obj_pseudo_table): Add sect.s and section.s.  Move sect outside
+       of ifndef BFD_ASSEMBLER.
+       * config/obj-elf.c (elf_pseudo_table): Add section.s, sect,
+       sect.s.
+       (obj_elf_section): In MRI mode, call s_mri_sect.
+       * config/tc-m68k.c (md_pseudo_table): Add restore, save.
+       (struct save_opts): Define.
+       (save_stack): New static variable.
+       (s_save, s_restore): New static functions.
+
+       * read.c (s_set): Remove unused local ptr.
+       (hex_float): Check target_big_endian.
+       (equals): Remove unused local p.
+
+       * config/tc-a29k.h (TARGET_BYTES_BIG_ENDIAN): Define.
+       * config/tc-h8500.h (TARGET_BYTES_BIG_ENDIAN): Define.
+       * config/tc-hppa.h (TARGET_BYTES_BIG_ENDIAN): Define.
+       * config/tc-i860.h (TARGET_BYTES_BIG_ENDIAN): Define.
+       * config/tc-m68k.h (TARGET_BYTES_BIG_ENDIAN): Define.
+       * config/tc-m88k.h (TARGET_BYTES_BIG_ENDIAN): Define.
+       * config/tc-tahoe.h (TARGET_BYTES_BIG_ENDIAN): Define.
+       * config/tc-sh.c (little): Set target_big_endian.
+       (md_begin): Likewise.
+       (md_parse_option): Likewise.
+       (build_relax): Check target_big_endian rather than shl.
+       (build_Mytes, md_atof): Likewise.
+       (md_convert_frag, md_apply_fix): Likewise.
+       (md_number_to_chars): Likewise.
+       
+Wed Aug  9 10:51:48 1995  Ian Lance Taylor  <ian@cygnus.com>
+
+       * config/tc-m68k.c (m68k_abspcadd): New static variable.
+       (m68k_quick): New static variable.
+       (m68k_rel32): New static variable.
+       (md_pseudo_table): Add opt and reg.
+       (m68k_ip): Permit absolute symbols in 'l'/'L' recognition.  Check
+       m68k_quick in 'M' and 'Q' recognition.  Check m68k_abspcadd in
+       DISP handling.  Check m68k_rel32 in BASE/POST/PRE handling.
+       (md_begin): In MRI mode, initialize m68k_abspcadd and m68k_rel32.
+       In MRI mode, change unsized branch aliases to be variable sized.
+       (struct opt_action): Define.
+       (opt_table): Define.
+       (s_opt): New static function.
+       (skip_to_comma): New static function.
+       (opt_chip): New static function.
+       (opt_list): New static function.
+       (opt_list_symbols): New static function.
+       (s_reg): New static function.
+       * as.h (flag_keep_locals): Change from unsigned char to int.
+       (flag_no_warnings): Likewise.
+
+       * read.c (mri_line_label): Make non-static.
+       (potable): Add nopage, page, plen.
+       (s_org): Error if in MRI mode.
+       * read.h (mri_line_label): Declare.
+       * listing.c (listing_nopage): New function.
+       * listing.h (listing_nopage): Declare.
+
+       * symbols.c (symbol_begin): Set sy_frag of abs_symbol to
+       &zero_address_frag.
+
+       * write.c (adjust_reloc_syms): Check that symbol is not NULL
+       before checking sy_mri_common.
+       (fixup_segment): Likewise.
+       * config/obj-coff.c (fixup_segment): Likewise.
+
+       * read.c (abs_section_offset): New global variable.
+       (potable): Add offset, struct.
+       (do_org): New static function; handle changing the origin in the
+       absolute section.
+       (s_org): Use do_org.
+       (s_set): Likewise.
+       (equals): Likewise.
+       (s_space): In absolute_section, just increase abs_section_offset.
+       (s_struct): New function.
+       (emit_expr): Handle absolute_section specially.
+       * read.h (abs_section_offset): Declare.
+       (s_struct): Declare.
+       * frags.c (frag_more): Warn if in absolute_section.
+       (frag_now_fix): In absolute_section, return abs_section_offset.
+       * subsegs.c (subseg_change): If switching to absolute_section,
+       just set now_seg and now_subseg.
+       (subseg_set_rest): Special handling when switching to or from
+       absolute_section.
+
+       * config/tc-m68k.c (m68k_float_copnum): New static variable.
+       (md_pseudo_table): Add fopt and mask2.
+       (m68k_ip): Use m68k_float_copnum, not COPNUM, when setting
+       coprocessor register to use.  In case 'I' when checking operands,
+       correct coprocessor register numbers.  In case 'I' when setting
+       operands, don't add 1.
+       (s_fopt): New static function.
+       * config/m68k-parse.h (COPNUM): Don't define.
+
+       * read.c (potable): Add ifeq, ifge, ifgt, ifle, iflt, ifne.
+       Change if to pass O_ne to s_if.
+       (read_a_source_file): Don't define an label without a colon if
+       ignore_input returns true.
+       * cond.c (s_if): Treat argument as an operatorT describing how to
+       compare the argument against zero.
+       (ignore_input): Don't require an initial dot in MRI mode, or if
+       NO_PSEUDO_DOT is defined.
+
+       * read.c (potable): Add dcb, dcb.b, dcb.d, dcb.l, dcb.s, dcb.w,
+       dcb.x, ds.d, ds.p, ds.s, ds.x, elsec, endc, fail, format, llen,
+       noformat.
+       (read_a_source_file): If pseudo-op handler is s_end, quit
+       immediately.
+       (s_end): New function.
+       (s_fail): New function.
+       (s_float_space): New function.
+       (hex_float): New static function.
+       (float_cons): Use hex_float.
+       * read.h (s_fail): Declare.
+       (s_float_space): Declare.
+       * cond.c (s_end): Remove.
+       * listing.c (listing_psize): Treat argument as indicating whether
+       a height is expected.
+
+       * read.c (mri_pending_align): New static variable.
+       (read_a_source_file): Handle mri_pending_align.
+       (cons): Set mri_pending_align if appropriate.
+
+       * configure.in: Move random special target handling before
+       possible break.
+       * configure: Rebuild.
+
+Tue Aug  8 23:41:25 1995  Alan Modra  <alan@spri.levels.unisa.edu.au>
+
+       * configure.in: Consistently use ${target_cpu_type} rather than
+       ${cpu_type} after the loop.
+       * configure: Rebuild.
+       * Makefile.in (targ-cpu.o): Use @target_cpu_type@ rather than
+       @cpu_type@.
+
+Tue Aug  8 17:27:17 1995  Ken Raeburn  <raeburn@cygnus.com>
+
+       * expr.h (operatorT): Remove comma after last enumerator value.
+
+       * config/obj-vms.c: Some whitespace cleanup from Pat Rankin.
+
+       * as.h (alloca): If __STDC__, declare void* instead of char*.
+
+       Wed Aug  2 18:54:37 1995  Pat Rankin  <rankin@eql.caltech.edu>
+
+       * config/obj-vms.c (Flush_VMS_Object_Record_Buffer,
+       Close_VMS_Object_File): Reorganize the `#if !VMS' cross-assmebler
+       support code.
+       (Close_VMS_Object_File): Call Set_VMS_Object_File_Record to flush
+       output buffer--just in case--before closing the file.
+
+Tue Aug  8 13:07:05 1995  Ian Lance Taylor  <ian@cygnus.com>
+
+       * config/tc-m68k.c (archs): Add 68ec000, 68hc000, 68hc001,
+       68ec020, 68ec030, 68ec040, and 68330.
+       (md_pseudo_table): Add chip and comline.
+       (m68k_init_after_args): Use strcasecmp when comparing default_cpu
+       against architectures.
+       (mri_chip, s_chip): New static functions.
+
+       * struc-symbol.h (struct symbol): Add sy_mri_common bit.
+       * read.h (mri_comon_symbol): Declare.
+       (s_mri_common): Declare.
+       * read.c (mri_line_label): New static variable.
+       (mri_common_symbol): New global variable.
+       (potable): Add "common" and "common.s".
+       (read_a_source_file): In MRI mode, set mri_line_label for a label
+       at the start of a line.
+       (s_mri_common): New function.
+       (s_space): Handle mri_common_symbol.
+       * symbols.c (colon): Change return value from void to symbolS *,
+       and return new symbol.  If mri_common_symbol is set, attach the
+       new symbol to it.
+       (resolve_symbol_value): Handle an sy_mri_common symbol.
+       * symbols.h (colon): Change return value in declaration.
+       * subsegs.c (subseg_set_rest): Clear mri_common_symbol.
+       (subseg_set (both versions)): Likewise.
+       * frags.c (frag_more): Warn if mri_common_symbol is not NULL.
+       * write.c (adjust_reloc_syms): Skip sy_mri_common symbols.
+       (write_object_file): Discard sy_mri_common symbols.
+       (fixup_segment): Change relocations against sy_mri_common symbols
+       to be against the common symbol itself.
+       * config/obj-coff.c (yank_symbols): Discard sy_mri_common symbols.
+       (fixup_segment): Change relocations against sy_mri_common symbols
+       to be against the common symbol itself.
+       * config/obj-aout.c (obj_crawl_symbol_chain): Discard
+       sy_mri_common symbols.
+
+       * doc/c-m68k.texi: Add documentation for CPU specific options, and
+       for Motorola syntax.
+
+       * config/m68k-parse.y (motorola_operand): For (%pc), set mode to
+       DISP, not BASE.
+
+Tue Aug  8 02:31:38 1995  Ken Raeburn  <raeburn@cygnus.com>
+
+       * write.c (relax_align): Add extra padding for linkrelax only if
+       LINKER_RELAXING_SHRINKS_ONLY is defined.
+       * config/tc-i960.h (LINKER_RELAXING_SHRINKS_ONLY): Define it.
+       * doc/internals.texi (Relaxation): Write up some stuff on linker
+       relaxing and LINKER_RELAXING_SHRINKS_ONLY.
+
+Mon Aug  7 17:18:10 1995  Ian Lance Taylor  <ian@cygnus.com>
+
+       * config/m68k-parse.y: New file: bison grammar for m68k operands,
+       including support for Motorola syntax.
+       * config/m68k-parse.h: New file; definitions shared between
+       m68k-parse.y and tc-m68k.c.
+       * config/tc-m68k.c: Include m68k-parse.h.
+       (enum operand_type): Move to m68k-parse.h, where it is named
+       m68k_operand_type.  Rename all uses.  Rearrange somewhat.  Add
+       FPREG.  Rename AOFF to DISP.  Rename AINDX to BASE.  Rename APODX
+       to POST.  Rename APRDX to PRE.  Remove AMIND.  Rename MSCR to
+       CONTROL.  Remove DINDR.
+       (struct m68k_exp): Move to m68k-parse.h.  Remove e_beg, e_end and
+       e_seg fields.  Rename e_exp to exp.  Rename e_siz to size, and
+       change type to enum m68k_size.  Change all uses.
+       (enum _register): Move to m68k-parse.h, where it is named
+       m68k_register.  Rename all uses.  Add ZDATA0-7 and ZADDR0-7.
+       (struct m68k_op): Move to m68k-parse.h.  Change all fields.
+       (seg): Don't define.
+       (add_exp): Remove.
+       (FAIL, OK): Remove.
+       (m68k_reg_parse): Move to m68k-parse.y, and rewrite.
+       (SKIP_WHITE, SKIP_W): Remove.
+       (try_moto_index, try_index): Remove.
+       (m68k_ip_op): Move to m68k-parse.y, and rewrite to use grammar.
+       (main): Remove obsolete test function.
+       (m68k_ip): Extensive changes to use new grammar.
+       (get_regs): Remove.
+       (crack_operand): m68k_ip_op now returns 0 on success.
+       (init_table): Add ssp, zd0-7 and za0-7.
+       (md_assemble): Make er const.  Correct loop over operands when
+       looking for error message.
+       (md_begin): Set alt_notend_table for '(' and '@'.
+       (get_num): Expression is already parsed.  Don't set seg.
+       * configure.in: If cpu_type is m68k, put m68k-parse.o in
+       extra-objects.
+       * configure: Rebuild.
+       * Makefile.in (DISTSTUFF): Add m68k-parse.c.
+       (BISON): Use ../bison/bison if it exists.
+       (BISONFLAGS): Define as empty.
+       (TARG_CPU_DEP_m68k): Depend upon $(srcdir)/config/m68k-parse.h.
+       (m68k-parse.c, m68k-parse.o): New targets.
+
+start-sanitize-sh3e
+Mon Aug  7 02:54:20 1995  Jeff Law  (law@snake.cs.utah.edu)
+
+       * config/tc-sh.c (parse_reg): Handle new FP registers.
+       (get_specific): Handle new operand types.
+
+end-sanitize-sh3e
+Fri Aug  4 12:29:21 1995  Ian Lance Taylor  <ian@cygnus.com>
+
+       * expr.c (op_encoding): Make non-const.  Don't set '"' to
+        O_bit_not.
+       (expr_begin): Set op_encoding['"'] in MRI mode.
+
+Wed Aug  2 18:39:43 1995  Ian Lance Taylor  <ian@cygnus.com>
+
+       * config/tc-m68k.c: Remove BREAK_UP_BIG_DECL stuff.
+       (struct m68k_incant): Change m_operands field to be const.
+       (struct m68k_it): Change args field to be const.
+       (m68k_ip): Change local variable s to be const.
+       (opcode_ptr): Remove.
+       (md_begin): Use m68k_numopcodes, not numopcodes.  Use
+       m68k_opcodes, not removed opcode_ptr.  Use m68k_numaliases, not
+       numaliases.
+
+Tue Aug  1 17:35:26 1995  Ian Lance Taylor  <ian@cygnus.com>
+
+       * config/tc-m68k.c (init_table): Add "control", "status", "iaddr",
+       "sfcr", and "dfcr" as synonyms for existing entries.
+       (md_begin): In MRI mode, force flag_reg_prefix_optional to 1.
+       (md_parse_option): Removed unused locals i and arch.  Change type
+       of arch (another one) to unsigned long.
+       (tc_coff_sizemachdep): Add return after abort to avoid warning.
+
+       Initial support for MRI style labels and expressions.
+       * as.h (flag_mri): Declare/define.
+       * as.c (show_usage): Mention -M and its synonym --mri.
+       (parse_args): Add 'M' to std_shortopts.  Add "mri" to
+       std_longopts.  Set flag_mri if -M is seen.
+       (main): Call parse_args before input_scrub_begin.  Call
+       expr_begin.
+       * app.c (do_scrub_begin): Don't set lex for '"' or '\'' in MRI
+       mode.  Do set lex for ';', '*', and '!' in MRI mode.
+       (do_scrub_next_char): Remove MRI ifdef in LEX_IS_WHITESPACE case.
+       In MRI mode, keep spaces between labels and colons.  Remove MRI
+       ifndef around LEX_IS_ONECHAR_QUOTE case.  In MRI mode, don't use
+       '!' or '*' as comment characters even if they are in
+       comment_chars.
+       * read.h (lex_type): No longer const.
+       * read.c: Include libiberty.h.
+       (lex_type): No longer const.
+       (read_begin): In MRI mode, set lex_type of '?' to 3.
+       (potable): Add dc, dc.b, dc.d, dc.l, dc.s, dc.w, dc.x, ds, ds.b,
+       ds.l, ds.w, and xdef.
+       (read_a_source_file): Change LABELS_WITHOUT_COLON ifdef to check
+       for MRI mode at runtime rather than compile time.  Handle the EQU
+       pseudo-op in MRI mode.  Remove bogus MRI ifdef around done_pseudo.
+       Change NO_PSEUDO_DOT ifdef to also take effect for MRI mode at
+       runtime.
+       (cons): In MRI mode, always call parse_mri_cons rather than
+       TC_PARSE_CONS_EXPRESSION.
+       (parse_mri_cons): Always compile, not just when MRI is defined.
+       Call TC_PARSE_CONS_EXPRESSION, not expression, when the input is
+       not a string constant.  Handle A and E modifiers.
+       (float_cons): Accept :xxxx, where the x's are hex digits.
+       * expr.h (operatorT): Add O_eq, O_ne, O_lt, O_le, O_ge, O_gt.
+       (expr_begin): Declare.
+       * expr.c (integer_constant): In MRI mode, if the base was not
+       specified, look for a suffix on the number to set the base.
+       (mri_char_constant): New static function.
+       (operand): Remove MRI ifdef.  In MRI mode, do various things: Pass
+       0 as the base when calling integer_constant if there was no
+       prefix.  Check for a hex constant suffix if when a leading '0' is
+       seen.  Don't accept 0x or 0b as a prefix.  Check for E'chars' and
+       A'chars'.  Handle MRI character constants.  Treat '"' as the
+       unary bitwise not operator.  Treat $ as the program counter, or as
+       the prefix for a hex constant.  Treat % as the prefix for a binary
+       constant and @ as the prefix for an octal constant.  Treat : as
+       the prefix for a hex constant.
+       (op_encoding): Set '"' to O_bit_not, '<' to O_lt, and '>' to O_gt.
+       (op_rank): No longer const.  Change rank values.
+       (expr_begin): New function.
+       (operator): New static function.
+       (expr): Use operator.  Don't bother to mention the operator in
+       warnings.  Remove bogus #if 0 code.  Handle new operatorT values.
+       * atof-generic.c (atof_generic): In MRI mode, accept underscores
+       around the exponent in floating point numbers.
+       * symbols.h (symbols_case_sensitive): Declare.
+       * symbols.c (symbols_case_sensitive): New global variable.
+       (symbol_create): Check symbols_case_sensitive.
+       (symbol_find_base): Likewise.
+       (resolve_symbol_value): Handle new operatorT values.
+       (print_expr_1): Likewise.
+       (S_IS_LOCAL): In MRI mode, names beginning with two '?' characters
+       are local.
+
+Tue Aug  1 11:35:18 1995  steve chamberlain  <sac@slash.cygnus.com>
+
+       * tc-sh.c (md_convert_frag): Make some error messages more
+       explict.
+
+Mon Jul 31 21:40:47 1995  Ken Raeburn  <raeburn@cygnus.com>
+
+       Sat Jul 29 18:55:23 1995  Pat Rankin  <rankin@eql.caltech.edu>
+
+       * config/obj-vms.c (COPY_SHORT, COPY_LONG, PUT_SHORT, PUT_LONG):
+       Make expansion be safe for use in expressions.
+       (PUT_COUNTED_STRING): Bracket expansion with `do {...} while (0)'
+       rather than just `{...}'.
+
+Mon Jul 31 18:19:26 1995  steve chamberlain  <sac@slash.cygnus.com>
+
+       * gasp.c (main): Parse -I option.
+       (do_include): Look through include list.
+       * gasp.c (change_base): Don't modify numbers in strings. 
+
+Mon Jul 31 12:16:21 1995  Ian Lance Taylor  <ian@cygnus.com>
+
+       * config/tc-ppc.h (SUB_SEGMENT_ALIGN): Define.  From Niclas
+       Andersson <nican@ida.liu.se>.
+
+Thu Jul 27 20:47:12 1995  Ken Raeburn  <raeburn@cygnus.com>
+
+       * config/obj-coff.c (fixup_segment): Don't do further pcrel
+       processing after converting difference of two symbols in the
+       same segment.  From Jim Wilson.
+
+       * configure.in (i386-*-linuxoldld): Add as synonym for
+       i386-*-linux*aout*.  From Fred Fish.
+       * configure: Regenerated.
+
+Thu Jul 27 16:14:56 1995  Pat Rankin  <rankin@eql.caltech.edu>
+
+       * config/obj-vms.c (enum ps_type {ps_TEXT,ps_DATA,ps_COMMON,
+       ps_CONST}): New constants.
+       (VMS_Psect_Spec): Use them instead of literal strings.
+       (vms_write_object_file, global_symbol_directory): Adjust callers.
+
+Wed Jul 26 18:31:35 1995  Pat Rankin  <rankin@eql.caltech.edu>
+
+       * config/obj-vms.c (const_flag): Change from char to unsigned char.
+       * config/obj-vms.h (const_flag): Ditto.
+       (struct nlist): Replace union n_un and n_un.{n_name,n_next,n_strx}
+       fields with just n_name; delete field n_value; change n_other from
+       char to unsigned char and n_desc from short to int; insert explicit
+       padding for alignment.
+
+Mon Jul 24 20:06:17 1995  Ken Raeburn  <raeburn@cygnus.com>
+
+       * subsegs.h (struct seg_info_trash): Make bitfield types valid.
+
+       * config/obj-coff.c (fixup_segment): Local add_number should not
+       be declared register since its address is taken for
+       MD_APPLY_FIX3.
+
+       Fri Jul 21 15:28:18 1995  Pat Rankin  <rankin@eql.caltech.edu>
+
+       Split huge vms_write_object_file routine into managable pieces.
+
+       * config/obj-vms.c (vms_fixup_text_section, synthesize_data_segment,
+       vms_fixup_data_section, global_symbol_directory, local_symbols_DST,
+       vms_build_DST): New routines.
+       (vms_write_object_file): Call them.
+       (struct vms_obj_state): New file scope variable used by the above.
+
+Mon Jul 24 14:10:24 1995  Ian Lance Taylor  <ian@cygnus.com>
+
+       * config/tc-sh.c (md_pseudo_table): Add "uses".
+       (s_uses): New static function.
+       (sh_coff_frob_file): New function.
+       (md_convert_frag): Call subseg_change before calling fix_new.
+       (sh_handle_align): New function.
+       (SWITCH_TABLE): Define.
+       (sh_force_relocation): New function.
+       (md_apply_fix): Handle R_SH_USES, R_SH_COUNT and R_SH_ALIGN.
+       (sh_coff_reloc_mangle): Likewise.  Also handle switch table
+       entries.
+       * config/tc-sh.h (HANDLE_ALIGN): Define.
+       (sh_handle_align): Declare.
+       (TC_FORCE_RELOCATION): Define.
+       (sh_force_relocation): Declare.
+       (TC_COUNT_RELOC): Simplify; rely on TC_FORCE_RELOCATION instead.
+       (tc_frob_file): Define.
+       (sh_coff_frob_file): Declare.
+       * config/obj-coff.c (write_object_file): Call tc_frob_file if it
+       is defined.
+       (fixup_mdeps): Call HANDLE_ALIGN if it is defined.
+       (TC_FORCE_RELOCATION): Define if not defined.
+       (fixup_segment): Use TC_FORCE_RELOCATION to decide whether to
+       clear the symbol fields of fixP.
+
+Fri Jul 21 22:38:00 1995  Michael Meissner  <meissner@cygnus.com>
+
+       * config/tc-ppc.c (ppc_elf_suffix): Add support for R_PPC_SDAREL
+       relocation.
+       (md_apply_fix3): Ditto.
+
+Thu Jul 20 13:00:56 1995  Ken Raeburn  <raeburn@cygnus.com>
+
+       * config/tc-m68k.c (md_convert_frag): Rename argument seg to sec,
+       since seg is a macro name in this file.
+
+       * configure.in (arm-*-riscix*): Don't set emulation.
+
+Wed Jul 19 16:08:29 1995  Doug Evans  <dje@canuck.cygnus.com>
+
+       * config/obj-coff.h (TE_PE): Delete.
+       * config/tc-arm.h (BYTE_ORDER): Delete.
+       (TARGET_FORMAT): Provide value for OBJ_COFF and TE_PE.
+       (ARM_BI_ENDIAN): Define if OBJ_COFF and TE_PE.
+       * config/tc-arm.c (byte_order): Delete.
+       (md_number_to_chars): Reference target_big_endian, not byte_order.
+       (md_chars_to_number): Likewise.
+       (md_longopts): Add -EB/-EL if ARM_BI_ENDIAN.
+       (md_parse_options): Recognize -EB/-EL.
+       (md_show_usage): List -EB/-EL.
+
+Wed Jul 19 11:49:25 1995  Ian Lance Taylor  <ian@cygnus.com>
+
+       * gasp.c (process_assigns): Use toupper before comparing against
+       upper case letter.
+       (whatcond): Likewise.
+
+       * config/tc-sh.c (sh_relax): Rename from relax, and make global.
+       Renamed all uses.
+       (insert): Pass a size of 2, not 4.
+       (build_relax): Remove unused len variable.
+       (md_show_usage): Mention -little option.
+       (md_convert_frag): Add segT argument.  Rewrite to generate relocs
+       rather than to generate complete instructions here.
+       (md_apply_fix): Adjust and clarify R_SH_PCRELIMM8BY4 case for
+       changes in insert and md_pcrel_from.  Add cases for R_SH_PCDISP
+       and R_SH_PCDISP8BY2.
+       (md_pcrel_from): Don't subtract 1, add 2.
+       (tc_coff_fix2rtype): Remove.
+       (sh_coff_reloc_mangle): New function.
+       * config/tc-sh.h (TC_COFF_FIX2RTYPE): Just return fx_r_type.
+       (sh_relax): Declare.
+       (TC_COUNT_RELOC): If relaxing, count PC relative relocs.
+       (TC_RELOC_MANGLE): Define.
+       (sh_coff_reloc_mangle): Declare.
+       (tc_coff_sizemachdep): Declare.
+       * tc.h (md_convert_frag): Add segT parameter to non BFD_ASSEMBLER
+       declaration.
+       * write.c (cvt_frag_to_fill): Add sec argument to non
+       BFD_ASSEMBLER version.  Pass it to md_convert_frag.
+       (write_object_file): Pass SEG_TEXT to cvs_frag_to_fill.
+       * config/obj-coff.c (do_relocs_for): Pass segment info to
+       TC_RELOC_MANGLE.
+       (fixup_mdeps): Pass segment type to md_convert_frag.
+       * config/tc-a29k.c (md_convert_frag): Add segT argument.
+       * config/tc-h8300.c (md_convert_frag): Likewise.
+       * config/tc-h8500.c (md_convert_frag): Likewise.
+       * config/tc-i386.c (md_convert_frag): Likewise.
+       * config/tc-i860.c (md_convert_frag): Likewise.
+       * config/tc-i960.c (md_convert_frag): Likewise.
+       * config/tc-m68k.c (md_convert_frag): Likewise.
+       * config/tc-m88k.h (md_convert_frag): Likewise.
+       * config/tc-ns32k.c (md_convert_frag): Likewise.
+       * config/tc-rce.c (md_convert_frag): Likewise.
+       * config/tc-tahoe.c (md_convert_frag): Likewise.
+       * config/tc-vax.c (md_convert_frag): Likewise.
+       * config/tc-w65.c (md_convert_frag): Likewise.
+       * config/tc-z8k.c (md_convert_frag): Likewise.
+       * config/tc-h8300.h (TC_RELOC_MANGLE): Add segment argument.
+       * config/tc-h8500.h (TC_RELOC_MANGLE): Likewise.
+       * config/tc-rce.h (TC_RELOC_MANGLE): Likewise.
+       * config/tc-w65.h (TC_RELOC_MANGLE): Likewise.
+       * config/tc-z8k.h (TC_RELOC_MANGLE): Likewise.
+
+Mon Jul 17 15:02:54 1995  Pat Rankin  <rankin@eql.caltech.edu>
+
+       * config/obj-vms.c (Current_Routine, Text_Psect): Delete as file
+       scope variables.
+       (Define_Routine, Define_Local_Symbols): Take Current_Routine and
+       Text_Psect as arguments.
+       (VMS_DBG_Define_Routine): Delete.
+       (VMS_TBT_Block_End): Change `Size' argument from int to valueT.
+       (vms_write_object_file: text and data fixup loops): Difference
+       of two symbols has type offsetT rather than int; convert with
+       md_number_to_chars before passing to VMS_Store_Immediate_Data.
+       (vms_write_object_file: debug symbol loop): Call Define_Routine
+       instead of VMS_DBG_Define_Routine.
+
+Sat Jul 15 00:01:35 1995  Michael Meissner  <meissner@cygnus.com>
+
+       * config/tc-ppc.c (ppc_elf_suffix): Add @fixup so that the
+       compiler can mark which relocs not to complain about with
+       -mrelocatable.
+       (ppc_elf_validate_fix): Add .fixup to sections not to complain
+       about, and also don't complain for BFD_RELOC_CTOR relocations in
+       writable non-code segments.
+       (md_apply_fix): Treat BFD_RELOC_CTOR just like BFD_RELOC_32.
+
+Fri Jul 14 19:54:28 1995  Ian Lance Taylor  <ian@cygnus.com>
+
+       Add support for SPARC SunOS PIC:
+       * config/tc-sparc.h (sparc_pic_code): Always declare, not just
+       when OBJ_ELF.
+       (TC_RELOC_RTSYM_LOC_FIXUP): Define when OBJ_AOUT.
+       (tc_fix_adjustable): New definition for OBJ_AOUT.
+       * config/tc-sparc.c (sparc_pic_code): Always define, not just when
+       OBJ_ELF.
+       (md_apply_fix): Adjust reloc addend for OBJ_AOUT and PIC.  In
+       BFD_RELOC_32_PCREL_S2 case, don't increment val for an external
+       symbol when PIC.
+       (tc_gen_reloc): Generate different PIC relocs when OBJ_AOUT, as
+       well as when OBJ_ELF.
+       (md_shortopts): If OBJ_AOUT, include `k'.
+       (md_parse_option): If OBJ_AOUT, handle 'k'.
+       (md_show_usage): Mention -k if OBJ_AOUT, and -KPIC if OBJ_ELF.
+       (md_pcrel_from): Don't add in size for an external symbol when
+       PIC.
+
+start-sanitize-arc
+Fri Jul 14 10:26:43 1995  Doug Evans  <dje@canuck.cygnus.com>
+
+       * config/tc-arc.c (byte_order): Provide explicit initial value.
+end-sanitize-arc
+
+Thu Jul 13 21:16:43 1995  Jeff Law  (law@snake.cs.utah.edu)
+
+       * config/tc-hppa.h (UNDEFINED_DIFFERENCE_OK): Define for SOM.
+       * write.c (adjust_reloc_syms): Set sy_used_in_reloc for both
+       symbols in a fixup where a defined symbol is subtracted from an
+       undefined symbol (when UNDEFINED_DIFFERENCE_OK is defined).
+       (fixup_segment): Do nothing for the difference of two symbols if
+       UNDEFINED_DIFFERENCE_OK is defined.
+
+Wed Jul 12 23:33:40 1995  Ian Lance Taylor  <ian@cygnus.com>
+
+       * config/obj-coff.c (fixup_segment): Support MD_APPLY_FIX3.
+
+Wed Jul 12 01:12:12 1995  Ken Raeburn  <raeburn@kr-pc.cygnus.com>
+
+       * write.c (fix_new): Use int, not short int, for argument type.
+       (fix_new_exp): Ditto.
+
+       * configure.in (arm-*-riscix*): Don't set emulations.
+
+       * config/tc-mips.c (NO_ECOFF_DEBUGGING): Define if ECOFF_DEBUGGING
+       wasn't previously defined.
+       (s_extern): Don't set ecoff_extern_size if NO_ECOFF_DEBUGGING.
+       (nopic_need_relax): Don't check it if NO_ECOFF_DEBUGGING.
+       (macro_build) [!USE_STDARG]: Don't use variadic prototype.
+       (mips_local_label) [NO_ECOFF_DEBUGGING]: Don't preserve potential
+       ECOFF debugging symbols.
+
+       * emul.h (struct emulation): Use unsigned, not unsigned char, for
+       bitfields.
+       * obj.h (struct format_ops): Likewise.
+
+       * config/tc-arm.c (symbol_make_empty) [BFD_ASSEMBLER]: Set
+       udata.p, not udata.
+
+Tue Jul 11 14:30:19 1995  Ian Lance Taylor  <ian@cygnus.com>
+
+       * doc/c-mips.texi: Document -m4010 and -mno-4010.
+
+Tue Jul 11 14:28:55 1995  Jeff Spiegel  <jeffs@lsil.com>
+
+       * config/tc-mips.c (mips_4010): New static variable.
+       (interlocks): New static variable.
+       (md_begin): Check for a cpu of "r4010".  Set mips_4010 correctly.
+       If mips_4650 or mips_4010, set interlocks.
+       (append_insn): Check interlocks, not mips_4650.
+       (mips_emit_delays): Likewise.
+       (mips_ip): Only permit INSN_4010 instructions if mips_4010.
+       (md_longopts): Add "m4010" and "no-m4010".
+       (md_parse_option): Accept -mcpu=r4010.  Handle -m4010 and
+       -no-m4010.
+       (md_show_usage): Document -m4010 and -no-m4010.
+
+Tue Jul 11 13:22:50 1995  Ian Lance Taylor  <ian@cygnus.com>
+
+       * ecoff.c (struct efdr): Add new field fake.
+       (init_file): Initialize fake.
+       (add_file): Add new parameter fake.  Change all callers.
+       (ecoff_build_debug): Don't warn about a missing .end for a fake
+       file.
+
+Mon Jul 10 16:01:31 1995  Ken Raeburn  <raeburn@cygnus.com>
+
+       * doc/as.texinfo: Split out most cpu chapters...
+       * doc/c-*.texi: ...to here.
+
+       * read.c (po_hash): Now static.
+
+Mon Jul 10 13:47:22 1995  Ian Lance Taylor  <ian@cygnus.com>
+
+       Based on patches from H.J. Lu <hjl@nynexst.com>:
+       * config/tc-i386.c (md_apply_fix3): Rename from md_apply_fix1.
+       Accept pointer to value and segment.  Fix OBJ_ELF PCREL case to
+       handle global defined symbols correctly.
+       (md_apply_fix): Remove both versions.
+       * config/tc-i386.h (MD_APPLY_FIX3): Define.
+
+       * configure.in: When switching on ${cpu}, use ${cpu}, not
+       $[target_cpu}, in default case.
+       * configure: Rebuild.
+
+Sat Jul  8 13:27:55 1995  Ian Lance Taylor  <ian@cygnus.com>
+
+       * write.c (fixup_segment): Call resolve_symbol_value on
+       sub_symbolP, in case it isn't in the symbol table.
+
+Fri Jul  7 11:17:27 1995  Ian Lance Taylor  <ian@cygnus.com>
+
+       * read.c (s_lcomm): For .lcomm 1, set align to 0, not 1.
+
+       * config/obj-coff.c (coff_frob_symbol): If SF_GET_FUNCTION, set
+       BSF_FUNCTION.
+       (symbol_globalP, symbol_global_lastP): New global variables.
+       (yank_symbols): Sort defined global symbols to the end, just
+       before the undefined symbols.
+       (glue_symbols): Add two arguments, and use them instead of
+       referring directly to global variables.
+       (crawl_symbols): Call glue_symbols twice, once for defined globals
+       and once for undefined.  Add corresponding know calls.
+
+       * app.c (do_scrub_next_char): Always accept \v.  Don't make it
+       conditional on BACKSLASH_V.
+       * read.c (next_char_of_string): Likewise.
+       * config/obj-bout.h (BACKSLASH_V): Don't define.
+       * config/tc-mips.h (BACKSLASH_V): Don't define.
+
+       Add SPARC ELF PIC support.
+       * write.c (fixup_segment): Pass fixP to TC_RELOC_RTSYM_LOC_FIXUP,
+       not fixP->fx_r_type.
+       * config/tc-sparc.c (sparc_pic_code): New global variable. 
+       (md_apply_fix): If generating PIC, adjust fx_addnumber for any non
+       PC relative reloc.
+       (tc_gen_reloc): If generating PIC, adjust various reloc types.
+       Remove fx_pcrel assert, since it is no longer true.
+       (md_parse_option): Handle -K PIC.
+       * config/tc-sparc.h (sparc_pic_code): Declare if OBJ_ELF.
+       (TC_RELOC_RTSYM_LOC_FIXUP): Define if OBJ_ELF.
+       (tc_fix_adjustable): Don't adjust PC relative relocs if PIC.
+       * config/tc-i386.h (TC_RELOC_RTSYM_LOC_FIXUP): Take a fixp, not a
+       reloc type.
+
+       * Makefile.in (Makefile): Add dependency on conf.in, so that conf
+       is rebuilt when conf.in changes.
+
+Thu Jul  6 16:49:38 1995  Ken Raeburn  <raeburn@cygnus.com>
+
+       * All files: Updated FSF address.
+
+Thu Jul  6 16:30:34 1995  Jim Wilson  <wilson@chestnut.cygnus.com>
+
+       * ecoff.c (add_file): Don't collapse multiple .file commands into
+       a single file structure.
+       (ecoff_build_lineno): Set ilineBase to sum of previous file's
+       ilineBase and cline.
+
+Thu Jul  6 12:54:27 1995  Ian Lance Taylor  <ian@cygnus.com>
+
+       Patches from Jerry Blakely <gerry_blakley@wellfleet.com>:
+       * as.c (listing_filename): New static variable.
+       (show_usage): Mention -a=file.
+       (parse_args): Support = option of -a to set name of listing file.
+       (main): Pass listing_filename to listing_print.
+       * listing.c (list_file): New static variable.
+       (various): Replace printf with fprintf to list_file.
+       (listing_print): If name argument is not NULL, open it as
+       list_file.
+       * doc/as.texinfo, doc/as.1: Document -a=file.
+
+       * config/tc-sparc.c (s_reserve): Don't permit redefinition, even
+       if the symbol was already in bss_section.  Fix warning message.
+
+       * listing.c (struct file_info_struct): Rename end_pending field to
+       at_end.
+       (file_info): Initialize at_end, not end_pending.
+       (buffer_line): If at_end set, just return immediately.  Don't
+       worry about end_pending cases.  Set at_end when EOF is read.
+       (print_source): Check at_end, not end_pending.
+       (listing_listing): Likewise.
+
+       * config/tc-alpha.h (alpha_do_align): Don't declare.
+       (md_do_align): Don't define.
+       (tc_frob_label): Define.
+       (alpha_define_label): Declare.
+       (md_flush_pending_output): Define.
+       (alpha_flush_pending_output): Declare.
+       * config/tc-alpha.c (insn_label): New static variable.
+       (auto_align): New static variable.
+       (md_pseudo_table): Add cases for .text, .data, .align, .byte,
+       .hword, .int, .long, .octa, .quad, .short, .word, .double, .float,
+       and .single.  Change .t_floating, .s_floating, .f_floating,
+       .g_floating, and .d_floating to use s_alpha_float_cons rather than
+       float_cons.
+       (s_alpha_text, s_alpha_data): New static functions.
+       (s_rdata, s_sdata): Clear insn_label and set auto_align.
+       (s_gprel32): If auto_align, align.  Clear insn_label.
+       (emit_insn): Clear insn_label.
+       (s_alpha_align): New static function.
+       (alpha_align): Make static.  Take label argument.
+       (alpha_flush_pending_output): New static function.
+       (s_alpha_cons, s_alpha_float_cons): New static functions.
+       (alpha_define_label): New function.
+
+Wed Jul  5 22:49:31 1995  Ken Raeburn  <raeburn@cygnus.com>
+
+       * conf.in: Regenerate with autoreconf.
+
+       Mon Jul  3 19:47:53 1995  Pat Rankin  (rankin@eql.caltech.edu)
+
+       * config/obj-vms.h (vms_resolve_symbol_redef): Use full prototype.
+       (vms_check_for_special_label, tc_frob_label): Move them to group
+       with other prototypes.
+       [WANT_VMS_OBJ_DEFS]: Only define the many OBJ_x, DBG_x, and DST_x
+       macros when this is defined.
+       * config/obj-vms.c: Fully prototype all local functions.
+       [symbolS, fragS]: Use consistently instead of their struct tags.
+       [WANT_VMS_OBJ_DEFS]: Define this.
+       (s_const): Make definition correctly match actual usage.
+       (VMS_stab_parse): Make `expected_type' arg be int rather than char.
+       (get_VMS_time_on_unix): Define as `static void'.
+       (hash_string): Make definition match actual usage; argument is
+       `char const *' rather than `unsigned char *'.
+       (VMS_Case_Hack_Symbol, VMS_Modify_Psect_Attributes, VMS_Psect_Spec,
+       VMS_Global_Symbol_Spec): Declare string args as `const char *'.
+       [IS_GXX_VTABLE]: New macro.
+       (vms_write_object_file: GSD loop): Use it.
+       (vms_write_object_file: data segment): Reorganize `fill' loop.
+
+Wed Jul  5 12:01:49 1995  Ian Lance Taylor  <ian@cygnus.com>
+
+       * config/tc-sparc.c (md_shortopts): Add "K:" if OBJ_ELF.
+       (md_parse_option): If OBJ_ELF, check for -K.  Die if -K PIC, since
+       PIC code is not currently supported.
+
+       * as.c (parse_args): Change std_shortopts to be an array rather
+       than a constant string.  Only include 'K' if WORKING_DOT_WORD is
+       not defined.  Only check for 'K' in that case as well.
+       * as.h (flag_warn_displacement): Only declare if WORKING_DOT_WORD
+       is not defined.
+
+       * conf.in: Add undef of HAVE_SBRK.
+
+       * config/obj-coff.c (obj_coff_line): Call listing_source_line, in
+       both BFD_ASSEMBLER and non BFD_ASSEMBLER versions of the function.
+
+       * symbols.c (S_SET_EXTERNAL): Warn if symbol is weak.
+       (S_CLEAR_EXTERNAL): Likewise.
+       (S_SET_WEAK): Warn if symbol is global.
+
+       * config/obj-aout.c (obj_aout_frob_symbol): Warn about an attempt
+       to put an undefined symbol into a set.
+
+       * Makefile.in: Remove @configure_input@; it's not needed in
+       files named Makefile.
+
+       * config/tc-m88k.c (md_pseudo_table): Add ".set" so that the
+       explicit pseudo-op works, while continuing to treat "set" as an
+       instruction.
+
+       * ecoff.c (ecoff_debugging_seen): New global variable.
+       (ecoff_directive_def): Set ecoff_debugging_seen.
+       (ecoff_stab): Likewise.
+       * ecoff.h: Make idempotent.
+       (ecoff_debugging_seen): Declare.
+       * config/tc-mips.c: Include ecoff.h.
+       (mips_debug): New static variable.
+       (s_stringer, s_mips_space): Remove unneeded declarations.
+       (md_parse_option): In case 'g', set mips_debug to debugging level.
+       (mips_local_label): New function.
+       * tc-mips.h (LOCAL_LABEL): Call mips_local_label.
+       (mips_local_label): Declare.
+
+Wed Jul  5 00:59:22 1995  Fred Fish  (fnf@cygnus.com)
+
+       * as.c (main):  Only use sbrk when HAVE_SBRK defined.
+       * configure.in:  Add test for sbrk.
+       * configure:  Regenerate using autoconf 2.4.
+
+Mon Jul  3 15:58:16 1995  Jeff Law  (law@snake.cs.utah.edu)
+
+       * config/tc-hppa.h (MAX_RELOC_EXPANSION): Bump to 6.
+       * config/tc-hppa.c (tc_gen_reloc, SOM version): Handle
+       relocations for the difference of two (possibly external)
+       symbols.
+       (hppa_fix_adjustable): For SOM, reject reductions involving
+       the difference of two symbols.
+       (hppa_force_relocation): Force relocations for expressions
+       involving the difference of two symbols.
+
+Mon Jul  3 14:22:59 1995  Steve Chamberlain  <sac@slash.cygnus.com>
+
+       * configure[.in] (i386-*-win32): New host and target.
+
+Thu Jun 29 17:25:43 1995  Steve Chamberlain  <sac@slash.cygnus.com>
+
+       Support for long filenames non-bfd coff.
+       * config/obj-coff.c (filename_list_head, filename_list_tail): New.
+       (yank_symbols): Notice and record filenames which are too long.
+       (w_strings): Write out filename strings.
+       (c_dot_file_symbols): Put long filenames onto list.
+
+Wed Jun 28 17:33:13 1995  Steve Chamberlain  <sac@slash.cygnus.com>
+
+       * config/obj-coff.c (fixup_segment): PE doesn't use
+       the strange common symbol format that other 386s formats
+       do.
+       * config/tc-i386.c (md_begin): If LEX_AT defined then
+       '@' is in the set of identifiers.
+       (i386_operand): If LEX_AT, then don't look for @goto stuff.
+       * config/te-pe.h: Define LEX_AT.
+
+Wed Jun 28 17:49:59 1995  Ken Raeburn  <raeburn@cygnus.com>
+
+       * doc/as.texinfo (H8/500 Floating Point): Indicate that IEEE FP
+       numbers are for the standard emulation code.
+       (SH Floating Point): Ditto.
+       (Overview): Describe new --emulation option for MIPS.
+       * doc/*.m4: Deleted.
+
+Thu Jun 22 19:26:25 1995  Ken Raeburn  <raeburn@cujo.cygnus.com>
+
+       Sun May  7 11:53:41 MDT 1995  Bryan Ford  <baford@cs.utah.edu>
+
+       * configure.in: Added i386-*-moss* target.
+
+Thu Jun 22 14:41:23 1995  Michael Meissner  <meissner@tiktok.cygnus.com>
+
+       * write.c (write_object_file): Cast decode_local_label_name
+       argument to char * to avoid warning.
+
 Wed Jun 21 18:07:59 1995  Ken Raeburn  <raeburn@cujo.cygnus.com>
 
        Changes from Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>:
@@ -32,7 +1194,7 @@ Wed Jun 21 18:07:59 1995  Ken Raeburn  <raeburn@cujo.cygnus.com>
 Wed Jun 21 14:18:37 1995  Steve Chamberlain  <sac@slash.cygnus.com>
 
        * gasp.c (do_print, do_form, buffer_and_nest): Use case insensitive
-       string compares. gas/7274.
+       string compares.
 
 Tue Jun 20 14:55:02 1995  Ken Raeburn  <raeburn@cujo.cygnus.com>
 
@@ -352,14 +1514,6 @@ Tue May 16 16:29:58 1995  Ken Raeburn  <raeburn@cujo.cygnus.com>
        * read.c (s_lcomm): Do ELF/ECOFF test at run time, not compile
        time.
 
-start-sanitize-arc
-Mon May 15 13:39:45 1995  Doug Evans  <dje@canuck.cygnus.com>
-
-       * config/tc-arc.c (md_longopts): -EB/-EL renamed to
-       -mbig-endian/-mlittle-endian.
-       (md_show_usage): Likewise.
-end-sanitize-arc
-
 Fri May 12 14:17:47 1995  Steve Chamberlain  <sac@slash.cygnus.com>
 
        Initial support for PE object files.
@@ -10826,11 +11980,3 @@ Mon Feb 17 07:51:06 1992  K. Richard Pixley  (rich at cygnus.com)
        * nearly everything.  flush ChangeLog, package as gas-1.92.1.
          ChangeLog's prior to this are sketchy at best.  I have logs.
          They just aren't ChangeLogs.
-
-\f
-Local Variables:
-mode: indented-text
-left-margin: 8
-fill-column: 74
-version-control: never
-End:
This page took 0.05028 seconds and 4 git commands to generate.