diff options
author | jdp <jdp@FreeBSD.org> | 1998-03-01 22:58:51 +0000 |
---|---|---|
committer | jdp <jdp@FreeBSD.org> | 1998-03-01 22:58:51 +0000 |
commit | 2cbd0590cd191c81b59e94970f4c40c371f9e415 (patch) | |
tree | b7676f996414b979dcbb7de92a3e86b97320d023 /contrib/binutils/gas/ChangeLog | |
download | FreeBSD-src-2cbd0590cd191c81b59e94970f4c40c371f9e415.zip FreeBSD-src-2cbd0590cd191c81b59e94970f4c40c371f9e415.tar.gz |
Initial import of GNU binutils version 2.8.1. Believe it or not,
this is heavily stripped down.
Diffstat (limited to 'contrib/binutils/gas/ChangeLog')
-rw-r--r-- | contrib/binutils/gas/ChangeLog | 4849 |
1 files changed, 4849 insertions, 0 deletions
diff --git a/contrib/binutils/gas/ChangeLog b/contrib/binutils/gas/ChangeLog new file mode 100644 index 0000000..d513e07 --- /dev/null +++ b/contrib/binutils/gas/ChangeLog @@ -0,0 +1,4849 @@ +Mon May 26 13:24:25 1997 Ian Lance Taylor <ian@cygnus.com> + + * doc/as.texinfo: Don't use @value in section names or index + entries; it confuses texinfo.tex. + +Tue May 13 10:42:20 1997 Ian Lance Taylor <ian@cygnus.com> + + * Makefile.in (VERSION): Set to 2.8.1. + +Mon May 12 13:33:08 1997 H.J. Lu <hjl@gnu.ai.mit.edu> + + * config/tc-i386.c (pi): Check for RegMMX. + +Thu May 8 11:10:15 1997 Ian Lance Taylor <ian@cygnus.com> + + * expr.c (expr): When subtracting values in the same frag, + subtract X_add_number rather than adding it. + +Wed May 7 15:39:48 1997 Ian Lance Taylor <ian@cygnus.com> + + * config/obj-coff.c (write_object_file): Just pass NULL to + md_do_align, not the address of a char holding NOP_OPCODE. + +Tue May 6 12:18:09 1997 Ian Lance Taylor <ian@cygnus.com> + + * config/tc-i386.c (md_section_align): If a.out and BFD, force + section size to be aligned. + +Mon May 5 17:16:55 1997 Ian Lance Taylor <ian@cygnus.com> + + * cond.c: Include "macro.h". + (struct conditional_frame): Add macro_nest field. + (initialize_cframe): Initialize macro_nest. + (cond_finish_check): Add nest parameter. Change all callers. + (cond_exit_macro): New function. + * as.h (cond_finish_check): Update declaration. + (cond_exit_macro): Declare. + * input-scrub.c (macro_nest): Make globally visible. + (input_scrub_next_buffer): Call cond_finish_check. + * macro.h (macro_nest): Declare. + * read.c (s_mexit): Call cond_exit_macro. + + * config/tc-i386.h (RegMMX): Define. + * config/tc-i386.c (pi): Check for all register types. + (type_names): Add RegMMX. + (md_assemble): Handle RegMMX. + +Wed Apr 30 12:47:00 1997 Manfred Hollstein <manfred@s-direktnet.de> + + * config/obj-coff.c (c_section_symbol): Clear the LOCAL bit #ifdef + TE_DELTA. + +Tue Apr 29 20:23:10 1997 Jim Wilson <wilson@cygnus.com> + + * config/tc-mips.c (nopic_need_relax): Add new parameter + before_relaxing. Use it when testing ecoff_extern_size. + (load_address, macro, md_estimate_size_before_relax): Fix all + callers. + +Tue Apr 29 19:52:47 1997 Ian Lance Taylor <ian@cygnus.com> + + * config/obj-coff.c (coff_header_append): Don't reset string_size + each time through the loop. + +Fri Apr 25 14:17:46 1997 H.J. Lu <hjl@gnu.ai.mit.edu> + + * Makefile.in (DISTSTUFF): Add itbl-parse.h. + +Fri Apr 25 12:03:15 1997 Ian Lance Taylor <ian@cygnus.com> + + * doc/internals.texi (Porting GAS): Correct documentation for + current configure handling of targ-cpu.h, et. al. + (CPU backend): Document listing macros. + +Sat Apr 19 23:09:25 1997 Niklas Hallqvist <niklas@petra.appli.se> + + * configure.in (i386-*-openbsd*, m68k-*-openbsd*, + mips-dec-openbsd*, ppc-*-*bsd*, ns32k-pc532-openbsd*, + sparc-*-openbsd*): New targets. + * configure: Rebuild. + +Sat Apr 19 22:52:03 1997 Jim Wilson <wilson@cygnus.com> + + * config/obj-elf.c (elf_frob_symbol): If TC_MIPS, set BSF_OBJECT + for all undefined symbols. + +Fri Apr 18 11:51:35 1997 Niklas Hallqvist <niklas@appli.se> + + * configure.in (alpha*-*-openbsd*): New target. + * configure: Rebuild. + +Thu Apr 17 13:59:47 1997 Per Fogelstrom <pefo@openbsd.org> + + * configure.in (mips-*-openbsd*): New target. + * configure: Rebuild. + +Tue Apr 15 18:11:44 1997 Gavin Koch <gavin@cygnus.com> + + * config/tc-mips.c (insn_uses_reg): Correct test for fpr pairs. + +Mon Apr 14 11:59:08 1997 Ian Lance Taylor <ian@cygnus.com> + + From Thomas Graichen <graichen@rzpd.de>: + * Makefile.in: Always use $(SHELL) when running move-if-change. + * configure.in: Use ${CONFIG_SHELL} when running $ac_config_sub. + * configure: Rebuild. + +Thu Apr 10 14:40:00 1997 Doug Evans <dje@canuck.cygnus.com> + + * cgen.c (cgen_parse_operand): Renamed from cgen_asm_parse_operand. + New argument `want'. Update enum cgen_parse_operand_result values. + Initialize if CGEN_PARSE_OPERAND_INIT. + * config/tc-m32r.c (md_begin): Set cgen_parse_operand_fn. + (md_assemble): Call cgen_asm_init_parse. + Update call to m32r_cgen_assemble_insn, call as_bad if assembly failed. + +Wed Apr 9 11:49:41 1997 Ian Lance Taylor <ian@cygnus.com> + + * config/tc-m68k.c (m68k_ip): Handle #j. + +Mon Apr 7 14:58:22 1997 Jeffrey A Law (law@cygnus.com) + + * config/tc-hppa.c (pa_subspace_start): If OBJ_ELF, then always return + zero. + * config/tc-hppa.h (tc_frob_symbol): Don't reset the value of the + symbol for OBJ_ELF anymore. + +Mon Apr 7 10:54:59 1997 Doug Evans <dje@canuck.cygnus.com> + + * Makefile.in: Regenerate dependencies. + (TARG_CPU): New variable. + (cgen.o): Depend on cgen.h, $(TARG_CPU)-opc.h. + (.dep1): Delete creating of cgen-opc.h. + (.tcdep): Put proper contents in cgen-opc.h. + * configure.in (m32r): Delete setting of extra_files, extra_links. + (AC_OUTPUT): Create cgen-opc.h. + * configure: Regenerated. + +Sat Apr 5 13:19:12 1997 Klaus Kaempf <kkaempf@progis.de> + + * makefile.vms: Update to build gasp.exe. + +Fri Apr 4 16:10:02 1997 Doug Evans <dje@canuck.cygnus.com> + + * write.c (relax_frag): Make non-static. + * write.h (relax_frag): Add prototype for. + * config/tc-m32r.h (md_do_align): New arg `max'. + * config/tc-m32r.c (m32r_do_align): Likewise. + Update calls to frag_align, frag_align_pattern. + (fill_insn): Update call to m32r_do_align. + (m32r_scomm): Update call to frag_align. + + * config/tc-m32r.[ch]: New files. + * cgen.c: New file. + * Makefile.in (CPU_TYPES): Add m32r. + (TARGET_CPU_CFILES): Add tc-m32r.c. + (TARGET_CPU_HFILES): Add tc-m32r.h. + (DISTCLEAN_HERE): Add cgen-opc.h. + (.dep1,.tcdep): Create empty cgen-opc.h. + (cgen.o): Add dependencies. + (dependencies): Regenerate. + * as.h (struct frag): New member fr_targ. + (fr_pcrel_adjust,fr_bsr): Move into union fr_targ.ns32k. + * conf.in (USING_CGEN): New macro. + * configure.in (m32r-*-*): Add entry for. + Add cgen.o to extra_objects. + * configure: Regenerate. + * frags.c (frag_var): fr_pcrel_adjust renamed to + fr_targ.ns32k.pcrel_adjust. fr_bsr renamed to fr_targ.ns32k.bsr. + (frag_variant): Likewise. + * write.c (relax_frag): Likewise. + * config/tc-ns32k.c (*): Likewise. + +Fri Apr 4 13:26:10 1997 Ian Lance Taylor <ian@cygnus.com> + + * config/tc-hppa.h (TC_EOL_IN_INSN): Check explicitly for '!', + rather than for any end of line character. + + * config/tc-mips.c: Protect uses of STO_MIPS16 with an ifdef of + OBJ_ELF, rather than of S_GET_OTHER. + + * Makefile.in (DISTCLEAN_HERE): Add site.exp and site.bak. + +Thu Apr 3 18:52:39 1997 Ian Lance Taylor <ian@cygnus.com> + + * Makefile.in (VERSION): Set to 2.8. + +Wed Apr 2 12:24:10 1997 Ian Lance Taylor <ian@cygnus.com> + + * COPYING: Update FSF address. + + * config/tc-mips.c (mips16_macro): Handle M_DMUL and M_MUL. + +Tue Apr 1 18:29:47 1997 Jim Wilson <wilson@cygnus.com> + + * config/tc-mips.c (md_begin): Don't set interlocks for 4100. + +Tue Apr 1 16:24:28 1997 Klaus Kaempf <kkaempf@progis.de> + + * config-gas.com: Update to handle both vax and alpha. + * makefile.vms: Update to use config-gas. + * conf-a-gas.com: Remove file. + +Tue Apr 1 16:08:21 1997 Ian Lance Taylor <ian@cygnus.com> + + * Makefile.in: Remove unnecessary itbl-parse.h, ibtl-parse.c, and + itbl-lex.c dependencies. Remove rules for itbl-lex.o, + itbl-parse.o, and itbl-ops.o; just use the normal .c.o rule. + +Tue Apr 1 00:07:30 1997 Ian Lance Taylor <ian@cygnus.com> + + * config/tc-m68k.c: Only compile tc_coff_symbol_emit_hook and + tc_coff_sizemachdep if OBJ_COFF. + +Mon Mar 31 23:53:44 1997 H.J. Lu <hjl@gnu.ai.mit.edu> + + * config/tc-ppc.c (register_name): Declare. + +Mon Mar 31 16:31:04 1997 Joel Sherrill <joel@oarcorp.com> + + * configure.in (hppa*-*-rtems*): New target, like hppa-*-*elf*. + * configure: Rebuild. + +Mon Mar 31 14:15:19 1997 Ian Lance Taylor <ian@cygnus.com> + + * config/tc-mips.c (mips_pseudo_table): Add "stabn". + (mips16_mark_labels): New static function. + (append_insn): Call mips16_mark_labels. + (mips_emit_delays): Likewise. + (s_insn): Likewise. Don't call mips_clear_insn_labels. + (s_mips_stab): New static function. + + * configure.in: Use ELF for mips-*-gnu*. + * configure: Rebuild. + +Mon Mar 31 14:01:40 1997 Philippe De Muyter <phdm@info.ucl.ac.be> + + * config/tc-m68k.h (TARGET_FORMAT): Set to "coff-m68k-sysv" if + TE_DELTA. + +Fri Mar 28 18:03:19 1997 Alan Modra <alan@spri.levels.unisa.edu.au> + + * configure.in: Add AC_ARG_ENABLE for commonbfdlib. If it is set, + set OPCODES_LIB to empty. + * configure: Rebuild. + +Fri Mar 28 15:25:24 1997 H.J. Lu <hjl@gnu.ai.mit.edu> + + * configure.in (sparc-*-linux*aout*, sparc-*-linux*): New + targets. + * configure: Rebuild. + +Fri Mar 28 13:08:33 1997 Ian Lance Taylor <ian@cygnus.com> + + * itbl-parse.y (yyerror): Make static. Declare. + + From Ralf Baechle <ralf@gnu.ai.mit.edu>: + * configure.in: Set emulations for mips-*-linux*-*. + * configure: Rebuild. + + * config/tc-mips.c (struct mips_set_options): Define. + (mips_opts): New static variable. + (mips_isa): Remove. Now a field in mips_opts. Change all + references. + (mips16, mips16_autoextend, mips_warn_about_macros): Likewise. + (mips_noreorder, mips_nomove, mips_noat, mips_nobopt): Likewise. + (struct mips_option_stack): Define. + (mips_opts_stack): New static variable. + (s_mipsset): Add support for .set push and .set pop. + * doc/c-mips.texi: Document .set push and .set pop. + + * config/obj-elf.c (obj_elf_section_change_hook): New function. + * config/obj-elf.h (obj_elf_section_change_hook): Declare it. + * config/tc-mips.c (s_change_sec): Call it if OBJ_ELF. + +Thu Mar 27 12:23:56 1997 Ian Lance Taylor <ian@cygnus.com> + + * as.c (parse_args): Update copyright date in version message. + + * Makefile.in (clean-here): Remove dependency files. + + * read.c (s_comm): Check S_IS_COMMON as well as S_IS_DEFINED. + (s_mri_common): Check S_IS_COMMON unconditionally. + * symbols.c (colon): Check S_IS_COMMON as well as S_IS_DEFINED. + * config/tc-alpha.c (s_alpha_comm): Likewise. + * config/tc-mips.c (nopic_need_relax): Likewise. + * config/tc-ppc.c (ppc_elf_lcomm): Likewise. + (ppc_pe_comm): Likewise. + * config/obj-elf.c (obj_elf_common): Likewise. Set segment of + common symbol to bfd_com_section_ptr. + * config/tc-sparc.c (s_common): Likewise. + (tc_gen_reloc): Likewise. + +Wed Mar 26 13:35:15 1997 H.J. Lu <hjl@lucon.org> + + * config/tc-i386.c (tc_i386_fix_adjustable): Only define if + BFD_ASSEMBLER. + +Wed Mar 26 11:32:51 1997 Ian Lance Taylor <ian@cygnus.com> + + * input-scrub.c (input_scrub_next_buffer): Handle very long input + lines correctly. + + * listing.c (print_lines): Add lineno parameter. Change all + callers. + (listing_listing): Only call calc_hex for the right line. + (listing_list): Set the new edict based on the current edict, in + order to handle listing commands in macros correctly. + + * config/tc-mips.c (insn_uses_reg): Map register numbers in mips16 + instructions. + + * cond.c (cond_finish_check): New function. + * as.h (cond_finish_check): Declare. + * as.c (main): Call cond_finish_check. + +Mon Mar 24 12:11:18 1997 Ian Lance Taylor <ian@cygnus.com> + + * config/tc-i386.h (iclrKludge): Define. + * config/tc-i386.c (md_assemble): Handle iclrKludge. + + * config/tc-alpha.h (tc_frob_file_before_adjust): Define if + OBJ_ECOFF. + (alpha_frob_file_before_adjust): Declare if OBJ_ECOFF. + * config/tc-alpha.c (alpha_debug): New static variable. + (md_parse_option): Set alpha_debug if -g is seen. + (alpha_frob_file_before_adjust): New function if OBJ_ECOFF. + +Sat Mar 22 13:44:28 1997 Ian Lance Taylor <ian@cygnus.com> + + * Makefile.in: Added automatic dependency building. + * dep-in.sed: New file. + +Fri Mar 21 15:42:37 1997 Ian Lance Taylor <ian@cygnus.com> + + * config/obj-ieee.c (segment_name): Don't define function if this + is a macro. + + * config/obj-coff.h (DO_STRIP): Don't define. + * config/tc-h8300.h (DO_STRIP): Don't define. + * config/tc-h8500.h (DO_STRIP): Don't define. + * config/tc-w65.h (DO_STRIP): Don't define. + * config/tc-z8k.h (DO_STRIP): Don't define. + + * symbols.c (colon): Call obj_frob_label if it is defined. + * config/obj-vms.h (obj_frob_label): Rename from tc_frob_label. + + * configure.in: Don't set files and links. Don't call + AC_LINK_FILES. Substitute te_file. Create targ-cpu.h, + obj-format.h, targ-env.h, and itbl-cpu.h in AC_OUTPUT. + * configure: Rebuild. + * Makefile.in (TARG_CPU_C): New variable. + (TARG_CPU_O, TARG_CPU_H): New variables. + (OBJ_FORMAT_C, OBJ_FORMAT_O, OBJ_FORMAT_H): New variables. + (TARG_ENV_H, ATOF_TARG_C, ATOF_TARG_O): New variables. + (SOURCES): Rename from REAL_SOURCES. Delete old definition. + (LINKED_SOURCES): Remove. + (HEADERS): Rename from REAL_HEADERS. Delete old definition. + (LINKED_HEADERS): Remove. + (OBJS): Use $(TARG_CPU_O), etc., rather than targ-cpu.o, etc. + ($(OBJS)): Depend upon $(TARG_ENV_H), etc., rather than + targ-cpu.h, etc. + ($(TARG_CPU_O), $(OBJ_FORMAT_O) $(ATOF_TARG_O)): New targets. + (targ-cpu.o, obj-format.o, atof-targ.o): Remove targets. + (itbl-cpu.h): Remove target. + (DISTCLEAN_HERE): Remove targ-cpu.c, obj-format.c, atof-targ.c, + atof-targ.h. + +Thu Mar 20 19:18:58 1997 Ian Lance Taylor <ian@cygnus.com> + + * doc/as.texinfo (Symbol Names): Don't use obsolete @ctrl macro. + +Thu Mar 20 16:49:14 1997 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> + + * config/tc-m68k.c (mri_chip): Replace calls to get_symbol_end by + open coded loop that does not require the name to start with a + name beginner. + +Thu Mar 20 13:42:01 1997 H.J. Lu <hjl@lucon.org> + + * frags.c (frag_var): Change offset parameter to offsetT. + (frag_variant): Likewise. + * frags.h (frag_variant, frag_var): Update declarations. + * config/tc-m68k.c (struct m68k_it): Change foff field to + offsetT. + (add_frag): Change off parameter to offsetT. + * Several files: Add casts to calls to frag_var. + + * Makefile.in (m68k-parse.c): Depend upon itbl-parse.c, to + serialize a parallel make. + (itbl-parse.h): Split target out from itbl-parse.c. + +Thu Mar 20 12:48:45 1997 Philippe De Muyter <phdm@info.ucl.ac.be> + + * config/m68k-parse.y (motorola_operand): Allow (zdireg,EXPR). + + * config/te-delta.h (COFF_COMMON_ADDEND): Define. + * config/obj-coff.c (fixup_segment): Check COFF_COMMON_ADDEND when + storing the value of a common symbol. + +Wed Mar 19 11:37:57 1997 Philippe De Muyter <phdm@info.ucl.ac.be> + + * config/obj-coff.c (glue_symbols): Unused variable symbolP + removed. + (crawl_symbols): Do not modify symbol_rootP and symbol_lastP here; + that is done by symbol_remove and symbol_insert. + + * config/obj-coff.h (S_IS_LOCAL): Return 0 for a debugging + symbol. + +Wed Mar 19 11:06:29 1997 Ian Lance Taylor <ian@cygnus.com> + + * config/tc-mips.c (load_register): In 32 bit mode, when not + dealing with a 64 bit number, permit the upper 32 bits to be set + even if bit 31 is not set. + +Tue Mar 18 23:30:14 1997 Ian Lance Taylor <ian@cygnus.com> + + * read.c (potable): Add "equiv". + (s_set): Handle .equiv based on argument. + * doc/as.texinfo (Equiv): New node to document .equiv. + (Err): New node to document .err. + +Tue Mar 18 15:50:13 1997 H.J. Lu <hjl@lucon.org> + + * Many files: Add function prototypes. + * as.c (show_usage, parse_args): Make static. + * frags.h (frag_alloc): Declare. + * subsegs.c (subseg_set_rest): Don't declare frag_alloc. + * symbols.c (dollar_label_instance): Change return type to long. + * symbols.h (print_symbol_value): Declare. + (print_expr, print_expr_1, print_symbol_value_1): Declare. + * write.c (fix_new_exp): Don't declare make_expr_symbol. + (remove_subsegs, relax_frag): Make static. + * config/atof-vax.c (atof_vax_sizeof): Change letter to int. + (what_kind_of_float): Likewise. + (atof_vax): Make static. Change what_kind to int. + (md_atof): Change what_statement_type to int. + * config/obj-ecoff.h (obj_ecoff_set_ext): Declare. + * config/tc-alpha.c (vax_md_atof): Declare. + (md_atof): Don't declare atof_ieee and vax_md_atof. + * config/tc-i386.c (set_16bit_code_flag): Make static. + * config/tc-i386.h (tc_i386_fix_adjustable): Declare. + * config/tc-m68k.c (add_fix): Change width to int. + (insert_reg): Change regname to const. + (md_atof): Don't declare atof_ieee. + (demand_empty_rest_of_line): Don't declare. + * config/tc-m88k.c (md_atof): Don't declare atof_ieee. + * config/tc-sparc.c (cmp_reg_entry): Change args to const PTR. + (parse_keyword_arg): Change lookup_fn to take const arg. + (md_atof): Don't declare atof_ieee. + * config/tc-sparc.h: Add ifdef for multiple inclusion. + (tc_aout_pre_write_hook): Don't declare. + +Mon Mar 17 11:21:09 1997 Ian Lance Taylor <ian@cygnus.com> + + * as.h (bfd_alloc_by_size_t): Don't declare. + * Many files: Use xmalloc rather than bfd_alloc_by_size_t. + +Sun Mar 16 13:49:21 1997 Philippe De Muyter <phdm@info.ucl.ac.be> + + * symbols.c (symbol_new): Don't call debug_verify_symchain. + (symbol_append): Set sy_next and sy_previous when adding a single + symbol to an empty list. Call debug_verify_symchain. + (verify_symbol_chain): Use assert, not know. + +Sat Mar 15 20:27:12 1997 Fred Fish <fnf@cygnus.com> + + * NEWS: Note BeOS support. + * configure.in: (ppc-*-beos): New target, use coff as object format. + * configure: Regenerate with autoconf. + +Sat Mar 15 19:14:02 1997 Ian Lance Taylor <ian@cygnus.com> + + * config/tc-mips.c (md_apply_fix): Improve error message for out + of range branch. + + * Makefile.in: Add dependencies on obstack.h where needed. + +Fri Mar 14 15:33:38 1997 Ian Lance Taylor <ian@cygnus.com> + + * config/tc-mips.c (md_estimate_size_before_relax): Handle the + case of a symbol equated to another symbol when using SVR4_PIC. + + * Makefile.in (TARG_CPU_DEP_sparc): Add opcode/sparc.h. + +Thu Mar 13 11:20:51 1997 Ian Lance Taylor <ian@cygnus.com> + + * read.c (read_a_source_file): Call LISTING_NEWLINE before + HANDLE_CONDITIONAL_ASSEMBLY when handling an MRI line label. + + * config/obj-elf.c (obj_elf_data): Call md_flush_pending_output + and md_elf_section_change_hook if they are defined. + (obj_elf_text, obj_elf_previous): Likewise. + +Wed Mar 12 11:40:20 1997 Ian Lance Taylor <ian@cygnus.com> + + * config/obj-multi.h (struct elf_obj_sy): Define if + OBJ_MAYBE_ELF. + (OBJ_SYMFIELD_TYPE): Define as struct elf_obj_sy if + OBJ_MAYBE_ELF. + * config/obj-elf.h (struct elf_obj_sy): Don't define if + OBJ_SYMFIELD_TYPE is defined. + + * doc/as.texinfo (bss): Improve description of .bss section. In + ELF or COFF, you are permitted to switch into the section. + (Comm): Rewrite description of common symbols. + (Lcomm): Mention that some targets permit a third argument. + +Tue Mar 11 01:13:31 1997 Ian Lance Taylor <ian@cygnus.com> + + * config/tc-ppc.c (ppc_elf_lcomm): Don't call S_CLEAR_EXTERNAL. + + * symbols.c (colon): Change type of local to int. From Alan Modra + <alan@spri.levels.unisa.edu.au>. + + * config/tc-m88k.c (m88k_do_align): Don't use a special nop + alignment if a zero fill pattern was explicitly specified. + * config/tc-sh.c (sh_do_align): Likewise. + + * read.c (equals): Always permit register names to be redefined. + + * config/tc-mips.c (mips_fix_adjustable): Permit a reloc against a + mips16 symbol to be adjusted if a symbol is being subtracted from + it. + + From Eric Youngdale <eric@andante.jic.com>: + * config/obj-elf.c (obj_elf_symver): Check for duplicate or + illegal symbol version names. + (elf_frob_symbol): Check for external default versions. + +Sun Mar 9 23:49:12 1997 Ian Lance Taylor <ian@cygnus.com> + + From Eric Youngdale <eric@andante.jic.com>: + * config/obj-elf.h (struct elf_obj_sy): Define. + (OBJ_SYMFIELD_TYPE): Define to elf_obj_sy struct. Change all + users. + * config/obj-elf.c (obj_elf_symver): Just record the name. + (obj_symbol_new_hook): Initialized versioned_name field. + (elf_frob_symbol): If there is a versioned_name, either rename the + symbol, or add an alias with that name. + +Thu Mar 6 13:55:32 1997 Jeffrey A Law (law@cygnus.com) + + * config/tc-mn10300.c (md_relax_table): Define. + (md_convert_frag): Implement. + (md_assemble): Handle relaxable operands/instructions correctly. + (md_estimate_size_before_relax): Implement. + * config/tc-mn10300.h (TC_GENERIC_RELAX_TABLE): Define. + + * config/tc-mn10200.c (md_relax_table): Fix typos. + + * config/tc-mn10300.c (md_assemble): Don't use any MN10300 specific + relocs anymore. Tweak fx_offset for pc-relative relocs. + +Wed Mar 5 15:46:16 1997 Ian Lance Taylor <ian@cygnus.com> + + * cond.c (s_ifc): Call mri_comment_field and mri_comment_end when + in MRI mode. + +Tue Mar 4 10:01:04 1997 Ian Lance Taylor <ian@cygnus.com> + + * read.c (equals): Add reassign parameter. Change all callers. + * read.h (equals): Update declaration. + +Sat Mar 1 01:04:04 1997 Ian Lance Taylor <ian@cygnus.com> + + * config/tc-mips.c (mips16_extended_frag): Don't assume that we + can rely on the frag address to determine whether a frag is + earlier or later. + +Fri Feb 28 14:40:00 1997 Ian Lance Taylor <ian@cygnus.com> + + * write.h (LOCAL_LABEL): Only define if not BFD_ASSEMBLER. + (S_LOCAL_NAME): Likewise. + (FAKE_LABEL_NAME): Define unconditionally. + * symbols.c (colon): Call bfd_is_local_label, not LOCAL_LABEL, if + BFD_ASSEMBLER. + (S_IS_LOCAL): Call bfd_is_local_label_name, not LOCAL_LABEL. + * config/tc-*.h: Only define LOCAL_LABEL if not BFD_ASSEMBLER. + Don't define FAKE_LABEL_NAME. + * config/te-ic960.h: Likewise. + * config/tc-mips.h (tc_frob_file_before_adjust): Define. + (mips_frob_file_before_adjust): Declare. + * config/tc-mips.c (mips_frob_file_before_adjust): New function. + (mips_local_label): Remove. + + * config/te-sco386.h: Remove; not used. + +Thu Feb 27 13:29:04 1997 Ian Lance Taylor <ian@cygnus.com> + + * config/tc-m68k.c (md_assemble): Handle a reloc width of 'W'. + + * gasp.c (hash_add_to_string_table): Correct misspelling in error + message, and add newline. + (process_file): Don't process assignments in the label if this is + a equ or assign pseudo-op. + (process_pseudo_op): Swap first argument to do_assign for K_ASSIGN + and K_EQU, to match documentation. + +Thu Feb 27 12:00:03 1997 Michael Meissner <meissner@cygnus.com> + + * config/obj-coff.c (obj_coff_section): Add 'r' section attribute + to denote read-only data sections. + +Thu Feb 27 00:26:33 1997 Ian Lance Taylor <ian@cygnus.com> + + * config/obj-elf.c (obj_elf_common): Set BSF_OBJECT in flags. + * config/tc-sparc.c (s_common): Likewise, if BFD_ASSEMBLER. + + * expr.c (operand): Simplify 0b handling. Don't treat 0b as a + binary number if the next character is '+' or '-'. + +Wed Feb 26 18:19:00 1997 Stan Shebs <shebs@andros.cygnus.com> + + * configure.in (mips*-*-lnews*): New target, also make empty + emulation list for this target. + * configure: Update. + * tc-mips.c (ECOFF_LITTLE_FORMAT): Define. + (mips_target_format): Use. + * te-lnews.h: New file. + +Wed Feb 26 11:56:11 1997 Ian Lance Taylor <ian@cygnus.com> + + * Makefile.in (itbl-parse.c itbl-parse.h): Use $(BISON) and + $(BISONFLAGS), not $(YACC) and $(YACCFLAGS). + +Tue Feb 25 22:02:23 1997 Philippe De Muyter <phdm@info.ucl.ac.be> + + * config/tc-m68k.c (instring): Useless local declaration of + crack_operand removed. + * expr.h (expressionS): Changed type of X_op field to operatorT if + __GNUC__. + +Tue Feb 25 13:17:27 1997 Ian Lance Taylor <ian@cygnus.com> + + Based on patches from Robert Lipe <robertl@dgii.com>: + * configure.in: Add i386coff and i386elf to emulation list. + * configure: Rebuild. + * as.c (i386coff, i386elf): Declare. + * obj.h (coff_format_ops): Declare. + * config/obj-coff.c (OBJ_HEADER): Define. + (coff_obj_symbol_new_hook): Rename from obj_symbol_new_hook. + (coff_obj_read_begin_hook): Rename from obj_read_begin_hook. + (obj_pseudo_table): Add "version". + (coff_pop_insert): New static function. + (coff_sec_sym_ok_for_reloc): New static function. + (no_func): New static function. + (coff_format_ops): New variable. + * config/obj-coff.h (coff_obj_symbol_new_hook): Declare. + (obj_symbol_new_hook): Define. + (coff_obj_read_begin_hook): Declare. + (obj_read_begin_hook): Define. + * config/tc-i386.h (i386_target_format): Declare. + * config/tc-i386.c: Check OBJ_MAYBE_ELF as well as OBJ_ELF; check + OUTPUT_FLAVOR when appropriate. + (i386_target_format): New function. + * Makefile.in (obj-coff.o): New target. + (e-i386coff.o, e-i386elf.o): New targets. + + From Stephen Williams <steve@icarus.icarus.com>: + * config/tc-i960.h (TC_SYMFIELD_TYPE): Define if OBJ_COFF. + (_tc_get_bal_of_call): Don't declare. + (tc_get_bal_of_call): Declare as function, don't define as macro. + * config/tc-i960.c (tc_set_bal_of_call): If OBJ_COFF, store balP + in sy_tc field, not x_balntry field. + (tc_get_bal_of_call): Rename from _tc_get_bal_of_call. Change + return type to symbolS *. If OBJ_COFF, retrieve value from sy_tc + field, not x_balntry field. + + * config/obj-elf.c (obj_elf_section): Permit a .note section to + have the SHF_ALLOC attribute. + + * Makefile.in ($(OBJS)): Don't depend upon $(IT_HDRS). + (TARG_CPU_DEP_mips): Depend upon $(srcdir)/itbl-ops.h. + (itbl-lex.o): Depend upon itbl-parse.h. + + * itbl-parse.y (yyerror): Change return type to int. Change to + use old style function declaration. + + * Makefile.in (itbl-lex.o): Remove -Wall. + (itbl-parse.o): Likewise. + + * cond.c (s_ifdef): If we should omit conditionals from listings, + call listing_list. + (s_if, s_ifc, s_endif, s_else, s_ifeqs): Likewise. + * listing.c (list_info_struct): Add EDICT_NOLIST_NEXT. + (listing_listing): Handle EDICT_NOLIST_NEXT. + (listing_list): An argument of 2 means EDICT_NOLIST_NEXT. + * listing.h (LISTING_NOCOND): Define. + (LISTING_SKIP_COND): Define. + * as.c (show_usage): Mention c as a suboption of -a. + (parse_args): Handle c as a suboption of -a. + * doc/as.texinfo: Document -alc. + +Mon Feb 24 18:27:43 1997 Eric Youngdale <eric@andante.jic.com> + + * doc/as.texinfo: Document .symver. + +Mon Feb 24 15:19:57 1997 Martin M. Hunt <hunt@pizza.cygnus.com> + + * config/tc-d10v.c: Change pre_defined_registers to + d10v_predefined_registers and reg_name_cnt to d10v_reg_name_cnt. + +Mon Feb 24 10:40:45 1997 Fred Fish <fnf@cygnus.com> + + * config/obj-coff.c: Fix typo in comment section. + +Mon Feb 24 02:23:00 1997 Dawn Perchik <dawn@cygnus.com> + + * Makefile.in: Remove dependancies on itbl-cpu.h. + * as.c: Define stubs for itbl_parse and itbl_init if HAVE_ITBL_CPU + is not defined. + +Mon Feb 24 02:03:00 1997 Dawn Perchik <dawn@cygnus.com> + + * itbl-ops.h: Include as.h. + +Mon Feb 24 01:04:00 1997 Dawn Perchik <dawn@cygnus.com> + + * as.c: Remove -t option. + * configure, configure.in: Move itbl-cpu.h to mips specific configure. + * itbl-ops.h: Include itbl-cpu.h only if HAVE_ITBL_CPU is defined. + * config/tc-mips.h: Define HAVE_ITBL_CPU. + +Sun Feb 23 18:01:00 1997 Dawn Perchik <dawn@cygnus.com> + + * itbl-ops.c: Don't define DEBUG. + +Sun Feb 23 17:49:00 1997 Dawn Perchik <dawn@cygnus.com> + + * Makefile.in: Update itbl-test.c to reflect its new location. + +Sun Feb 23 15:50:00 1997 Dawn Perchik <dawn@cygnus.com> + + * itbl-ops.c: Add test for itbl_have_entries. + * config/tc-mips.c: Remove test for itbl_have_entries. + * config/tc-mips.h: Define tc_init_after_args to mips_init_after_args. + +Sun Feb 23 18:13:19 1997 Ian Lance Taylor <ian@cygnus.com> + + * Makefile.in (DISTSTUFF): Remove itbl-parse.y, itbl-lex.l, and + itbl-ops.c. Add itbl-parse.c and itbl-lex.c. + (LEX, LEXFLAGS): Define. + * itbl-ops.c (append_insns_as_macros): Remove bogus ASSERT. + +Sat Feb 22 21:25:00 1997 Dawn Perchik <dawn@cygnus.com> + + * itbl-parse.y: Fix indentation mistakes from indent program. + * itbl-lex.l: Fix indentation mistakes from indent program. + * itbl-ops.h: Add include for ansidecl.h. + Add PARAMS around function arguments. + Add declaration for itbl_have_entries. + * itbl-ops.c: Add PARAMS around function arguments. + * Makefile.in: Add itbl build rules. + Add dependancies for itbl files to mips target. + * as.c: Add itbl support. + Add new option "--insttbl" for dynamically extending instruction set. + * as.h: Declare insttbl_file_name; + the name of file defining extensions to the basic instruction set + * configure.in, configure: Add itbl-parse.o, itbl-lex.o, and + itbl-ops.o to extra_objects for mips configuration. + Add include file link from itbl-cpu.h to + config/itbl-${target_cpu_type}.h. + * config/tc-mips.c: Allow copz instructions. + Add notes for future additions to the itbl support. + Add debug macros. + (macro): Call itbl_assemble to assemble itbl instructions. + See if an unknown register is specified in an itbl entry. + +Sat Feb 22 20:53:01 1997 Fred Fish <fnf@cygnus.com> + * doc/internals.texi (CPU backend): Fix typo in md_section_align + description. + +Fri Feb 21 14:34:31 1997 Martin M. Hunt <hunt@pizza.cygnus.com> + * config/tc-d10v.c (md_pcrel_from_section): Return 0 if + relocation is in different section. Fixes PR11574. + +Fri Feb 21 10:08:25 1997 Jim Wilson <wilson@cygnus.com> + + * tc-mips.c (mips_ip): If configured for an embedded ELF system, + don't set the section alignment to 2**4. + +Fri Feb 21 11:55:03 1997 Ian Lance Taylor <ian@cygnus.com> + + * config/tc-m68k.c (line_comment_chars): Add '*'. + + * app.c (LEX_IS_TWOCHAR_COMMENT_2ND): Don't define. + (do_scrub_begin): Don't set lex['*']. + (do_scrub_chars): When handling LEX_IS_TWOCHAR_COMMENT_1ST, don't + check for LEX_IS_TWOCHAR_COMMENT_2ND. Instead, just check for + a literal '*'. + + * configure.in: Set em=svr4 for m68k-*-sysv4*. + * configure: Rebuild. + * config/te-svr4.h: New file. + * config/tc-m68k.c (m68k_comment_chars): Only include `#' if + TE_SVR4 or TE_DELTA. + +Thu Feb 20 22:24:39 1997 Jeffrey A Law (law@cygnus.com) + + * config/tc-mn10200.c (md_convert_frag): Create a fixup for the + short conditional branch around a long unconditional branch. + +Thu Feb 20 13:56:00 1997 Ian Lance Taylor <ian@cygnus.com> + + * config/obj-coff.c (obj_coff_ln [both versions]): Call + new_logical_line. + + * config/tc-arm.c (fix_new_arm): Use make_expr_symbol to handle a + complex expression. + + * symbols.c (resolve_symbol_value): If both left and right + operands are undefined, warn about both of them. + +Wed Feb 19 00:53:28 1997 Ian Lance Taylor <ian@cygnus.com> + + Based on patches from Eric Youngdale <eric@andante.jic.com>: + * config/obj-elf.c (elf_pseudo_table): Add "symver". + (obj_elf_symver): New static function. + * config/obj-elf.h (OBJ_COPY_SYMBOL_ATTRIBUTES): Copy the st_other + field. + + * write.c (relax_segment): Make type and printf format agree. + + * read.c (get_line_sb): Don't end the line on a semicolon inside a + string. + +Sun Feb 16 17:47:29 1997 Fred Fish <fnf@toadfish.ninemoons.com> + + * config/tc-alpha.h (md_operand): Define with a null expansion, + like all the other targets. + * doc/internals.texi (CPU backend): Add missing word in + md_flush_pending_output description. Fix typo in md_convert_frag + description. + +Fri Feb 14 18:09:59 1997 Philippe De Muyter <phdm@info.ucl.ac.be> + + * config/tc-m68k.c (LOCAL_LABEL): Macro redefined if TE_DELTA. + (tc_canonicalize_symbol_name): Macro defined if TE_DELTA. + * config/obj-coff.c (obj_coff_def): Use + tc_canonicalize_symbol_name if defined. + (obj_coff_tag, obj_coff_val): Likewise. + * expr.c (operand): Reject '~' as operator if is_name_beginner. + +Fri Feb 14 17:24:48 1997 Ian Lance Taylor <ian@cygnus.com> + + Based on notes from Peter Eriksson <peter@ifm.liu.se>. The target + does not actually work, though: + * configure.in (i386-sequent-bsd*): New target. + * configure: Rebuild. + * config/tc-dynix.h: New file. + * config/tc-i386.h: Define TARGET_FORMAT if TE_DYNIX. + + * read.c (do_align): Add max parameter. Change all callers. + Remove useless static variables. + (s_align): New static function. Do common portion of + s_align_bytes and s_align_ptwo. + (s_align_bytes, s_align_ptwo): Just call s_align. + * frags.c (frag_align): Add max parameter. Change all callers. + (frag_align_pattern): Likewise. + * frags.h (frag_align, frag_align_pattern): Update declarations. + * write.c (relax_segment): Limit alignment change to fr_subtype. + Fix some types to be addressT. + * config/obj-coff.c (size_section): Likewise. + * config/obj-ieee.c (size_section): Likewise. + * config/tc-d10v.h (md_do_align): Add max parameter. + * config/tc-i386.h (md_do_align): Likewise. + * config/tc-m88k.h (md_do_align): Likewise. + * config/tc-m88k.c (m88k_do_align): Likewise. + * config/tc-sh.h (md_do_align): Likewise. + * config/tc-sh.c (sh_do_align): Likewise. + * as.h: Improve comments on rs_align and rs_align_code. + * doc/as.texinfo: Document new alignment arguments. + * doc/internals.texi (Frags): Document use of fr_subtype field for + rs_align and rs_align_code. + +Fri Feb 14 15:56:06 1997 Gavin Koch <gavin@cygnus.com> + + * config/tc-mips.c: Changed opcode parsing. + +Thu Feb 13 20:02:16 1997 Fred Fish <fnf@cygnus.com> + + * config/{tc-alpha.h, tc-arc.h, tc-d10v.h, tc-generic.h, tc-i960.h, + tc-mn10200.h, tc-mn10300.h, tc-sh.h, tc-vax.h, tc-w65.h}: + Add default definition of zero for TARGET_BYTES_BIG_ENDIAN. + * config/{tc-arm.h, tc-hppa.h, tc-i386.h, tc-mips.h, tc-ns32k.h, + tc-ppc.h, tc-sparc.h}: Move definition of TARGET_BYTES_BIG_ENDIAN + to a location consistent with the rest of the target include files. + * config/tc-i386.c: Remove misleading comment. + * doc/internals.texi (CPU backend): Add description of function + md_undefined_symbol. + +Thu Feb 13 21:44:18 1997 Klaus Kaempf <kkaempf@progis.de> + + * as.h: GNU c provides unlink() function. + + Unify section handling on openVMS/Alpha: + * config/tc-alpha.c(s_alpha_link): Remove. + (s_alpha_section): New function. + Remove case-hacking of symbols + Add .code_address pseudo-op. + (BFD_RELOC_ALPHA_CODEADDR): New relocation. + (s_alpha_code_address): New function. + (alpha_ctors_section, alpha_dtors_section): New sections for C++ + static constructors/destructors. + Add debug code for crash debugs, to be removed when traceback code + is added to object code. + (s_alpha_name): New function for .name pseudo-op. + (alpha_print_token): New function to print token expressions with + alpha specific extensions. + + * makefile.vms: Allow compilation with current gcc snapshot. + +Thu Feb 13 16:29:04 1997 Fred Fish <fnf@cygnus.com> + + * doc/Makefile.in (TEXI2DVI): Set to just name of program. + (DVIPS): Set to dvips. + (ps, as.ps, gasp.ps): New targets. + (internals.info, gasp.dvi, internals.dvi): Set both TEXINPUTS + and MAKEINFO env variables. + (internals.ps): Use DVIPS macro. + (clean): Remove core and backup files. + (distclean): Remove temporary files from building internals. + (clean-dvi): Ditto. + * doc/internals.texi (Frags): Fix typo. + (GAS processing): Ditto. + (CPU backend): Ditto. + * ecoff.c (init_file): Use TARGET_BYTES_BIG_ENDIAN value directly. + * mpw-config.in: Define TARGET_BYTES_BIG_ENDIAN as 1. + * read.c: Remove ugly hack that dealt with config files not + correctly defining TARGET_BYTES_BIG_ENDIAN. + (target_big_endian): Use TARGET_BYTES_BIG_ENDIAN directly. + * config/arm-big.mt: Define TARGET_BYTES_BIG_ENDIAN to 1. + * config/arm-lit.mt: Define TARGET_BYTES_BIG_ENDIAN to 0. + * config/mips-big.mt: Define TARGET_BYTES_BIG_ENDIAN to 1. + * config/mips-lit.mt: Define TARGET_BYTES_BIG_ENDIAN to 0. + * config/ppc-lit.mt: Define TARGET_BYTES_BIG_ENDIAN to 1. + * config/ppc-sol.mt: Replace TARGET_BYTES_LITTLE_ENDIAN + with TARGET_BYTES_BIG_ENDIAN defined to 0. + * config/tc-arm.h: Remove use of TARGET_BYTES_LITTLE_ENDIAN + and simplify. Test value of TARGET_BYTES_BIG_ENDIAN, not just + whether it is defined or not. + * config/tc-mips.h: Remove use of TARGET_BYTES_LITTLE_ENDIAN. + * config/tc-ppc.h: Remove use of TARGET_BYTES_LITTLE_ENDIAN + and simplify. Test value of TARGET_BYTES_BIG_ENDIAN, not just + whether it is defined or not. + +Thu Feb 13 14:40:16 1997 Doug Evans <dje@canuck.cygnus.com> + + * write.c (write_relocs): Correct text in as_fatal error message, + bfd_perform_relocation -> bfd_install_relocation. + +Thu Feb 13 14:48:03 1997 Philippe De Muyter <phdm@info.ucl.ac.be> + + * config/tc-m68k.c (LEX_TILDE): Define if TE_DELTA. + * read.c (LEX_TILDE): Define if not defined. + (lex_type): Use LEX_TILDE. + * expr.c (get_symbol_end): Check first char with is_name_beginner, + not is_part_of_name. + +Thu Feb 13 11:40:58 1997 Ian Lance Taylor <ian@cygnus.com> + + * config/tc-sparc.c (md_show_usage): Add missing backslash at end + of continued line. + + * config/tc-mips.c (mips16_extended_frag): Correct base address + for an extended PC relative instruction. + (md_convert_frag): Likewise. + + * config/tc-mips.c (prev_nop_frag): New static variable. + (prev_nop_frag_holds): New static variable. + (prev_nop_frag_required): New static variable. + (prev_nop_frag_since): New static variable. + (append_insn): If we aren't reordering, and prev_nop_frag is not + NULL, and we don't need any nops, then decrease the size of + prev_nop_frag. Don't insert nops because of instructions in + noreorder sections. Remember whether the previous instructions + where in noreorder sections even when not reordering. + (mips_no_prev_insn): Add preserver parameter. Change all + callers. Refer prev_nop_frag variables when appropriate. + (mips_emit_delays): Set up prev_nop_frag. + (s_mipsset): Clear prev_nop_frag if reordering. + +Wed Feb 12 14:36:29 1997 Ian Lance Taylor <ian@cygnus.com> + + * config/tc-mips.c (append_insn): Remove useless code which + handled swapping a mips16 jump with a mips16 instruction with a + reloc. + + * config/tc-mips.c (md_parse_option): When debugging, set + mips_optimize to 1, not 0. + + * config/tc-mips.c (mips16_ip): Handle an extend operand. + + * config/tc-mips.c (my_getExpression): In mips16 mode, if it looks + like the expression was based on `.', adjust the value of the + symbol. + + * config/tc-mips.c (append_insn): Warn about an attempt to put an + extended instruction in a delay slot when not reordering. + (md_convert_frag): Warn if an extended instruction appears in a + delay slot. + + * config/tc-mips.c (mips_pseudo_table): Add "insn". + (s_insn): New static function. + * doc/c-mips.texi: Document .insn. + + * config/tc-mips.c (md_begin): Add the general registers to the + symbol table. + (mips16_ip): First parse the expression, and then see whether it + came up with a register, rather than trying to first see whether + we are looking at a register. + +Tue Feb 11 15:52:22 1997 Ian Lance Taylor <ian@cygnus.com> + + * config/tc-mips.c (mips16_ip): Handle %gprel modifier. + (md_apply_fix): Handle BFD_RELOC_MIPS16_GPREL. + + * config/tc-mips.c (append_insn): Output jump instruction as a + pair of 2 byte instructions, rather than as a single 4 byte + instruction. + +Mon Feb 10 22:06:00 1997 Dawn Perchik (dawn@cygnus.com) + + * itbl-ops.c, itbl-lex.l, itbl-parse.y, itbl-ops.h, + config/itbl-mips.h: Add copyright message and fix indentation. + +Mon Feb 10 18:09:00 1997 Dawn Perchik (dawn@cygnus.com) + + * itbl-ops.c: New file. Add support for dynamically read + instruction registers, opcodes and formats. Build internal table + for new instructions and provide callbacks for assembler and + disassembler. + * itbl-lex.l, itbl-parse.y: Lex and yacc parsers for instruction + spec table. + * itbl-ops.h: New file. Header file for itbl support. + * config/itbl-mips.h: New file. Mips specific definitions for + itbl support. + +Fri Feb 7 09:52:34 1997 Jeffrey A Law (law@cygnus.com) + + * config/tc-mn10200.c (md_assemble): If a constant operand won't + fit into the constant field of a relaxable operand, then it does + not match. + +Thu Feb 6 20:08:12 1997 Jeffrey A Law (law@cygnus.com) + + * config/tc-mn10200.c (md_estimate_size_before_relax): Treat + a jsr target in a different section just like a jsr to + an undefined target. + +Thu Feb 6 16:52:57 1997 Ian Lance Taylor <ian@cygnus.com> + + * config/tc-mips.c (mips_fix_adjustable): Don't adjust relocations + against any mips16 symbols, not just externally visible ones. + (md_apply_fix): Corresponding change. + +Wed Feb 5 11:11:06 1997 Ian Lance Taylor <ian@cygnus.com> + + * config/tc-mips.c (mips16_ip): Accept floating point registers in + the operand of the exit instruction. + +Tue Feb 4 14:12:39 1997 Ian Lance Taylor <ian@cygnus.com> + + * symbols.c (resolve_symbol_value): If we leave an equated symbol + as O_symbol, copy over the segment. + +Mon Feb 3 12:35:54 1997 Ian Lance Taylor <ian@cygnus.com> + + * config/tc-mips.c (md_apply_fix): If we aren't adjusting this + fixup to be against the section symbol, adjust the value + accordingly. + + * symbols.c (resolve_symbol_value): Don't change X_add_number for + an equated symbol. + * write.c (write_relocs): Avoid looping on equated symbols. + Adjust fx_offset by X_add_number for each symbol. + * config/obj-coff.c (do_relocs_for): Avoid looping on equated + symbols. + (fixup_segment): Add a loop to track down equated symbols and + adjust fx_offset appropriately. + +Fri Jan 31 15:21:02 1997 Jeffrey A Law (law@cygnus.com) + + * config/tc-mn10200.c (md_relax_table): Add entries to allow + jmp -> bra relaxing. + (md_convert_frag): Handle jmp->bra relaxing. + (md_assemble): Handle jmp->bra relaxing. + (md_estimate_size_before_relax): Likewise. + +Fri Jan 31 13:15:05 1997 Alan Modra <alan@spri.levels.unisa.edu.au> + + * config/tc-i386.c (i386_align_code): Add comments explaining the + nop instructions. + +Fri Jan 31 10:46:14 1997 Ian Lance Taylor <ian@cygnus.com> + + * config/tc-sparc.c (enforce_aligned_data): New static variable. + (sparc_cons_align): Don't do anything unless enforce_aligned_data + is set. + (md_longopts): Add "enforce-aligned-data". + (md_show_usage): Mention --enforce-aligned-data. + * doc/c-sparc.texi (Sparc-Aligned-Data): New node; document + enforce-aligned-data. + + * config/tc-ppc.c (md_pseudo_table): If OBJ_XCOFF, add "long", + "word", and "short". + (ppc_xcoff_cons): New static function. + + * write.c (relax_segment): Give an error if a .space symbol is + common or undefined. + + * read.c (read_a_source_file): Don't handle mri_pending_align if + the handler is s_globl or s_ignore. + +Thu Jan 30 11:46:59 1997 Fred Fish <fnf@cygnus.com> + + * config/tc-d10v.c (find_opcode): Remove unused variable "numops". + +Thu Jan 30 12:28:18 1997 Alan Modra <alan@spri.levels.unisa.edu.au> + + * config/tc-i386.c (i386_align_code): Improve the nop patterns. + +Thu Jan 30 12:08:40 1997 Ian Lance Taylor <ian@cygnus.com> + + * config/tc-mips.c (mips_fix_adjustable): New function. + * config/tc-mips.h (tc_fix_adjustable): Call mips_fix_adjustable. + (mips_fix_adjustable): Declare. + + Ideas from Srinivas Addagarla <srinivas@cdotd.ernet.in>: + * read.c (read_a_source_file): After doing an mri_pending_align, + adjust the line_label if there is one. + (s_space): Set mri_pending_align if an odd number of bytes were + output. + +Wed Jan 29 15:31:12 1997 Martin M. Hunt <hunt@pizza.cygnus.com> + + * config/tc-d10v.h (md_do_align): Add this hook to call + d10v_cleanup() when a ".align" is detected. Fixes PR11487. + + * config/tc-d10v.c (find_opcode): Correctly calculate + branch displacement when .aligns are present. + +Wed Jan 29 09:42:11 1997 Jeffrey A Law (law@cygnus.com) + + * config/tc-mn10200.c (md_relax_table): Define. + (md_convert_frag): Implement. + (md_assemble): Handle relaxable operands/instructions correctly. + (md_estimate_size_before_relax): Implement. + * config/tc-mn10200.h (TC_GENERIC_RELAX_TABLE): Define. + +Tue Jan 28 15:27:28 1997 Ian Lance Taylor <ian@cygnus.com> + + * config/tc-mips.c (append_insn): Give an error for jumps to a + misaligned address. + (md_apply_fix): Make a branch to an odd address an error rather + than a warning. + + * config/tc-mips.c (md_convert_frag): If the user explicitly + requested an extended opcode, pass warn as true to mips16_immed. + + * config/tc-mips.c (mips16_ip): Handle a missing expression like + an explicit 0, so that explicitly extended instructions work + correctly. + +Mon Jan 27 17:41:20 1997 Ian Lance Taylor <ian@cygnus.com> + + * ecoff.c (ecoff_build_symbols): Don't generate a local ECOFF + symbol for a common symbol. + +Wed Jan 22 10:39:39 1997 Doug Evans <dje@canuck.cygnus.com> + + Patch presumed to have been checked in awhile ago but wasn't. + Mon Nov 25 10:45:14 1996 Doug Evans <dje@seba.cygnus.com> + * write.c: Delete "ifndef md_relax_frag" around is_dnrange. + (relax_segment, case rs_org): Move code inside braces. Move locals + target,after inside too. + (relax_segment, case rs_machine_dependent): Guts moved to ... + (relax_frag): New function. + Call md_prepare_relax_scan if defined. + +Mon Jan 20 10:56:47 1997 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> + + * config/tc-m68k.c (m68k_ip): Reject pc-relative addresses for the + 'p' operand specifier. + +Mon Jan 20 10:39:36 1997 J.T. Conklin <jtc@cygnus.com> + + * config/tc-m68k.c (HAVE_LONG_BRANCH): New macro, returns true for + m68k family cpus which support long branch addressing modes. + (m68k_ip, md_convert_frag_1, md_estimate_size_before_relax, + md_create_long_jump): Use it. + +Mon Jan 20 12:42:06 1997 Ian Lance Taylor <ian@cygnus.com> + + * config/tc-mips.c (md_begin): Don't set SEC_ALLOC or SEC_LOAD for + the .reginfo or .MIPS.options section if configured for an + embedded target. + + * config/tc-mips.c (md_begin): Don't set interlocks for + mips_4650. + +Wed Jan 15 13:51:50 1997 Ian Lance Taylor <ian@cygnus.com> + + * read.c (read_a_source_file): Make sure the symbol ends with + whitespace before checking whether the next character is '='. + +Tue Jan 14 15:07:27 1997 Robert Lipe <robertl@dgii.com> + + * config/tc-i386.c (sco_id): Moved from here... + * config/obj-elf.c (sco_id): ...to here. Adding the identifier + really is an SCO ELF specific thing, not just a SCO x86 specific + thing. + +Thu Jan 9 09:08:43 1997 Ian Lance Taylor <ian@cygnus.com> + + * read.c (emit_expr): Check for overflow of a negative value + correctly. + * write.c (fixup_segment): Likewise. + * config/obj-coff.c (fixup_segment): Likewise. + + * config/tc-m68k.c (struct label_line): Define. + (labels, current_label): New static variables. + (md_assemble): Mark current_label as text, and clear it. + (m68k_frob_label): New function. + (m68k_flush_pending_output): New function. + (m68k_frob_symbol): New function. + * config/tc-m68k.h (tc_frob_label): Define. + (md_flush_pending_output): Define. + (tc_frob_symbol): Don't warn, just call m68k_frob_symbol. + (tc_frob_coff_symbol): Likewise. + + * read.c (read_a_source_file): When defining a macro in MRI mode, + don't add the symbol to the symbol table. + +Tue Jan 7 11:21:42 1997 Jeffrey A Law (law@cygnus.com) + + * config/tc-mn10300.c (tc_gen_reloc): Handle sym1-sym2 fixups + here since fixup_segment doesn't (linkrelax is set). + * config/tc-mn10200.c (tc_gen_reloc): Likewise. + +Mon Jan 6 15:19:32 1997 Jeffrey A Law (law@cygnus.com) + + * config/tc-mn10200.c (md_assemble): Tweak fx_offset for pc-relative + relocs. + +Fri Jan 3 16:47:08 1997 Jeffrey A Law (law@cygnus.com) + + * config/tc-hppa.c (struct hppa_fix_struct): Tweak fx_r_field's type + to avoid warnings with the native HP compiler. + (fix_new_hppa): Similarly for the r_type argument. + (pa_build_unwind_subspace, hppa_elf_mark_end_of_function): Enclose + in an #if OBJ_ELF to keep gcc -Wall quiet. + (md_apply_fix): Always initialize "result". + + * config/tc-mn10200.c (md_assemble): Generate relocations. + +Fri Jan 3 18:17:23 1997 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> + + * config/tc-m68k.c (s_even): Adjust the alignment of the current + section. + +Fri Jan 3 17:10:33 1997 Richard Henderson <rth@tamu.edu> + + * config/obj-elf.c (elf_file_symbol): When using ECOFF debugging, + pass on the new file hook. + + * config/tc-alpha.c (alpha_fix_adjustable): Not quite the same as + !alpha_force_relocation, as local LITERALs can be adjusted to be + relative to the section. + +Fri Jan 3 12:09:24 1997 Ian Lance Taylor <ian@cygnus.com> + + * config/obj-coff.c (yank_symbols): If tc_frob_coff_symbol is + defined, call it. + * config/tc-m68k.h (tc_frob_symbol): Check whether text label is + aligned to odd boundary. + (tc_frob_coff_symbol): Define. + + * doc/as.texinfo (Set): Change parenthesized @xref to @pxref. + + * macro.c (macro_expand_body): In MRI mode, just copy a single &. + + * config/tc-m68k.c (m68k_ip): Call frag_grow before adding a + PCINDEX frag. From Ronald F. Guilmette <rfg@monkeys.com>. + + * config/tc-m68k.c (m68k_ip): Accept 'B' as a size for an + immediate value. + (md_assemble): If the size is 'B', set fx_signed. + (md_apply_fix_2): Use fx_signed when checking for overflow. + + * write.h (struct fix): Add fx_signed field. + * write.c (fix_new_internal): Initialize fx_no_overflow and + fx_signed fields. + (fixup_segment): Use fx_signed when checking for overflow. + * config/obj-coff.c (fixup_segment): Check fx_no_overflow and + fx_signed when checking for overflow. + +Thu Jan 2 13:37:29 1997 Ian Lance Taylor <ian@cygnus.com> + + * NOTES, NOTES.config: Removed. These are rarely, if ever, + updated, and all the useful information is in doc/internals.texi. + + Based on patch from Ronald F. Guilmette <rfg@monkeys.com>: + * read.c (read_a_source_file): Check for conditional operators + before doing an MRI pending alignment. + * config/tc-m68k.h (m68k_conditional_pseudoop): Declare. + (tc_conditional_pseudop): Define. + * config/tc-m68k.c (m68k_conditional_pseudop): New function. + * doc/internals.texi (CPU backend): Describe + tc_conditional_pseudoop. + + Based on patch from Ronald F. Guilmette <rfg@monkeys.com>: + * config/tc-m68k.c (m68k_rel32_from_cmdline): New static + variable. + (md_begin): Check m68k_rel32_from_cmdline before setting + m68k_rel32. + (m68k_mri_mode_change): Likewise. + (md_longopts): Add --disp-size-default-16 and + --disp-size-default-32. + (md_parse_option): Handle new options. + (md_show_usage): Mention new options. + * doc/c-m68k.texi (M68K-Opts): Document new options. + + Based on patch from Ronald F. Guilmette <rfg@monkeys.com>: + * config/tc-m68k.c (m68k_index_width_default): New static + variable. + (m68k_ip): Use m68k_index_width_default to set the size of a base + register whose size was not given. + (md_longopts): Add --base-size-default-16 and + --base-size-default-32. + (md_parse_option): Handle new options. + (md_show_usage): Mention new options. + * doc/c-m68k.texi (M68K-Opts): Document new options. + + * doc/c-mips.texi: Mention ISA level 4, and the -mips16 option. + + * configure.in: Recognize mips-*-linux* target. + * configure: Rebuild. + + * config/tc-mips.c (load_register): Rewrite 64 bit handling to + work if valueT is only 32 bits. + + * config/tc-mips.c: Throughout, check target_big_endian rather + than byte_order. + (byte_order): Remove. + (mips_init_after_args): Remove. + * config/tc-mips.h (LITTLE_ENDIAN, BIG_ENDIAN): Don't define. + (mips_init_after_args): Don't declare. + (tc_init_after_args): Don't define. + + * config/tc-mips.h (tc_frob_after_relocs): Define if + OBJ_MAYBE_ELF. + (mips_elf_final_processing): Likewise. + (ELF_TC_SPECIAL_SECTIONS): Likewise. + +Tue Dec 31 12:56:41 1996 Ian Lance Taylor <ian@cygnus.com> + + * read.c (read_a_source_file): Check mri_pending_align after + checking for a macro. From Ronald F. Guilmette + <rfg@monkeys.com>. + + * Makefile.in (ALL_CFLAGS): Add -D_GNU_SOURCE. + + * config/tc-sparc.c (md_apply_fix3): Rename from md_apply_fix, and + add segment argument. If OBJ_ELF, treat a relocation against a + symbol in a linkonce section like a relocation against an external + symbol. + * config/tc-sparc.h (MD_APPLY_FIX3): Define. + +Mon Dec 30 11:35:40 1996 Ian Lance Taylor <ian@cygnus.com> + + * config/tc-mips.c (mips16_macro): Add case for M_ABS. + +Fri Dec 27 22:51:51 1996 Fred Fish <fnf@cygnus.com> + + * NOTES.config (Implementation): as.h #define's "GAS" not "gas", + includes config.h instead of host.h, tc.h instead of tp.h, and + targ-env.h instead of target-environment.h. + Also, obj-format.h includes targ-cpu.h instead of + target-processor.h. + +Fri Dec 27 11:42:29 1996 Ian Lance Taylor <ian@cygnus.com> + + * doc/as.texinfo (M): Mention explicitly that -M changes macro + handling. + +Thu Dec 19 12:06:08 1996 Ian Lance Taylor <ian@cygnus.com> + + * write.c (adjust_reloc_syms): If the fixup symbol has been + equated to an undefined symbol, convert the fixup to being against + the target symbol. Remove obsolete code handling a special case + for i386 PIC. + +Wed Dec 18 22:54:39 1996 Stan Shebs <shebs@andros.cygnus.com> + + * mpw-make.sed: Use NewFolderRecursive for installation. + +Wed Dec 18 16:00:42 1996 Martin M. Hunt <hunt@pizza.cygnus.com> + + * config/tc-d10v.c (do_assemble): Correct previous bug fix. + +Wed Dec 18 15:27:40 1996 Martin M. Hunt <hunt@pizza.cygnus.com> + + * config/tc-d10v.c (md_assemble): Fix bug which caused + second instruction in a line to be case sensitize. PR11312 + +Wed Dec 18 10:08:46 1996 Jeffrey A Law (law@cygnus.com) + + * config/tc-mn10200.c (mn10200_insert_operand): Don't + range check operands with MN10200_OPERAND_NOCHECK set. + (check_operand): Likewise. + +Tue Dec 17 10:59:32 1996 Ian Lance Taylor <ian@cygnus.com> + + * config/tc-mips.c: Undo part of last Friday's alignment changes. + (md_begin): Always align the text section to a four byte + boundary. + (append_insn): Remove call to record_align. + + * config/tc-mips.c (insn_label): Remove. + (struct insn_label_list): Define. + (insn_labels, free_insn_labels): New static variables. + (mips_clear_insn_labels): New static function. + (append_insn): Mark all mips16 text labels, and make them odd. + Handle all labels after emitting a nop, not just one. Call + mips_clear_insn_labels rather than just clearing insn_label. + (mips_emit_delays): Add insns parameter, and use it to decide + whether to mark mips16 labels. Handle all labels, not just one. + Force mips16 labels to be odd. Change all callers. + (mips16_immed): Don't check for an odd branch target. + (md_apply_fix): Don't check mips16 mode for a branch reloc. + (mips16_extended_frag): Ignore the low bit in a branch target. + (md_convert_frag): Likewise. + (mips_no_prev_insn): Call mips_clear_insn_labels rather than just + clearing insn_label. + (mips_align, mips_flush_pending_output, s_cons): Likewise. + (s_float_cons, s_gpword): Likewise. + (s_align): Use insn_labels rather than insn_label. + (s_cons, s_float_cons, s_gpword): Likewise. + (mips_frob_file_after_relocs): New function. + (mips_define_label): Rewrite to add to insn_labels list. + * config/tc-mips.h (tc_frob_file_after_relocs): Define. + * ecoff.c (ecoff_build_symbols): If the size of a function comes + out odd, increment it. + + * config/tc-mips.c (append_insn): Only update prev_insn when not + reordering if place is NULL. + + * config/tc-mips.c (mips16_ip): Check for a missing expression + when using the register indirect addressing mode. + +Mon Dec 16 10:08:46 1996 Jeffrey A Law (law@cygnus.com) + + * config/tc-mn10200.c (mn10200_insert_operand): Don't + check 24bit operands for overflow. + (check_operand): Likewise. + +Mon Dec 16 11:50:40 1996 Ian Lance Taylor <ian@cygnus.com> + + * doc/as.texinfo (Section): Document how to use the .section + pseudo-op for COFF and ELF. + +Sun Dec 15 15:26:37 1996 Ian Lance Taylor <ian@cygnus.com> + + * write.c (adjust_reloc_syms): Fix linkonce check for ELF. + +Sat Dec 14 22:37:27 1996 Ian Lance Taylor <ian@cygnus.com> + + * config/tc-mips.c (prev_insn_reloc_type): New static variable. + (RELAX_MIPS16_ENCODE): Add dslot and jal_dslot arguments, and + store them. Adjust other RELAX_MIPS16 macros. + (RELAX_MIPS16_DSLOT): Define. + (RELAX_MIPS16_JAL_DSLOT): Define. + (append_insn): Pass new arguments to RELAX_MIPS16_ENCODE. Correct + handling of whether previous instruction has a fixup. Set + prev_insn_reloc_type. + (mips_no_prev_insn): Clear prev_insn_reloc_type. + (mips16_extended_frag): Use the right base address for a PC + relative add or load. + (md_convert_frag): Likewise. If a PC relative add or load is + used, record the alignment for the section. + +Fri Dec 13 13:00:33 1996 Ian Lance Taylor <ian@cygnus.com> + + * write.c (adjust_reloc_syms): Don't reduce a reloc against a + linkonce section into a reloc against the section symbol. + + * config/tc-mips.c (mips16_macro): Remove nop instructions after + branch instructions. + + * config/tc-mips.c (md_begin): If configured for an embedded ELF + system, don't set the section alignment to 2**4. + (s_change_sec): Likewise. + (append_insn): Call record_alignment for the section. + (md_section_align): Don't align the section size for an embedded + ELF system. + +Thu Dec 12 16:40:47 1996 Ian Lance Taylor <ian@cygnus.com> + + * write.c (adjust_reloc_syms): Make sure that symbols are + resolved; expression symbols may have been skipped. + * config/obj-coff.c (fixup_segment): Likewise. + +Thu Dec 12 15:18:21 1996 Michael Meissner <meissner@tiktok.cygnus.com> + + * config/tc-ppc.c (ppc_elf_suffix): Move @plt to + BFD_RELOC_24_PLT_PCREL relocation. + (md_apply_fix3): Support BFD_RELOC_24_PLT_PCREL. + +Tue Dec 10 13:51:55 1996 Martin M. Hunt <hunt@pizza.cygnus.com> + + * config/tc-d10v.c (write_2_short): Remove code that called + parallel_ok() when the programmer specified parallel instructions. + +Tue Dec 10 12:23:19 1996 Jeffrey A Law (law@cygnus.com) + + * config/tc-mn10300.c (md_assemble): Update to handle endianness + issues correctly. + + * config/tc-mn10200.c (md_assemble): Opcode 0x0 is valid! + * config/tc-mn10300.c (md_assemble): Likewise. + +Tue Dec 10 11:37:14 1996 Ian Lance Taylor <ian@cygnus.com> + + * config/tc-mips.c (append_insn): Make sure there is enough room + in a frag after a mips16 instruction to switch it with a jump + instruction. + + * config/tc-mips.c (mips16_extended_frag): Give an error for an + attempt to use a non absolute symbol in an extending frag. + +Mon Dec 9 16:48:20 1996 Jeffrey A Law (law@cygnus.com) + + * config/tc-mn10200.c: Flesh out assembler support for MN10200. + * config/tc-mn10200.h: Likewise. + +Mon Dec 9 17:09:42 1996 Ian Lance Taylor <ian@cygnus.com> + + * app.c (do_scrub_chars): At the end of a C comment, pass space to + UNGET rather than PUT. Set old_state before setting state to -2. + + * config/tc-mips.c (mips16_extended_frag): Avoid an infinite loop + when extending because the value is exactly maxtiny + 1. + + * config/tc-mips.c (RELAX_MIPS16_ENCODE): Add small and ext + arguments, and store them. Adjust other RELAX_MIPS16 macros. + (RELAX_MIPS16_USER_SMALL): Define. + (RELAX_MIPS16_USER_EXT): Define. + (mips16_small, mips16_ext): New static variables. + (append_insn): Pass mips16_small and mips16_ext to + RELAX_MIPS16_ENCODE. + (mips16_ip): Set mips16_small and mips16_ext. + (mips16_immed): Don't check mips16_autoextend. + (mips16_extended_frag): Check USER_SMALL and USER_EXT. + + * write.c (write_relocs): Print an error for an out of range + fixup, rather than calling abort. + + * as.c (main): Unlink the output file if there are errors while + generating the fixups. + +Fri Dec 6 18:48:13 1996 Ian Lance Taylor <ian@cygnus.com> + + * config/tc-mips.c (mips16_extended_frag): Don't call + S_GET_VALUE. + (md_convert_frag): Call resolve_symbol_value before calling + S_GET_VALUE, and don't add in the frag address. + + * config/tc-mips.c (mips16_immed): Add file and line parameters, + and use them when reporting errors. Change all callers. + +Fri Dec 6 15:36:32 1996 Jeffrey A Law (law@cygnus.com) + + * config/tc-mn10300.c: Fix various gcc -Wall warnings. + Remove '$' prefixing for registers. + +Fri Dec 6 00:55:48 1996 Martin <hunt@cygnus.com> + + * config/tc-d10v.c (md_assemble): Check to see if prev_seg + is initialized before using it. + (d10v_cleanup): No longer uses its argument, so make it void. + + * config/tc-d10v.h (d10v_cleanup): Change prototype. + +Thu Dec 5 11:03:31 1996 Ian Lance Taylor <ian@cygnus.com> + + * write.c (fixup_segment): Don't discard the symbol for a PC + relative fixup to an absolute symbol. + +Wed Dec 4 15:42:41 1996 Martin M. Hunt <hunt@pizza.cygnus.com> + + * config/tc-d10v.c (md_assemble, d10v_cleanup): Fix bug + with multiple sections. + +Wed Dec 4 13:00:07 1996 Ian Lance Taylor <ian@cygnus.com> + + * config/tc-mips.c (md_longopts): Rename mips-16 to mips16, and + no-mips-16 to no-mips16. + (s_mipsset): Accept .set mips16 and .set nomips16. + +Wed Dec 4 10:35:33 1996 Michael Meissner <meissner@tiktok.cygnus.com> + + * config/tc-ppc.c (ppc_elf_suffix): Take expressionS pointer + argument, and check for +/- constant following the suffix, folding + it into the expression. + (ppc_elf_cons): Change ppc_elf_suffix calls. + (md_assemble): Ditto. + (shlib): Replace boolean mrelocatable with enumeration shlib. + (md_parse_option): Discriminate between PIC style shared libraries + and -mrelocatable. + (ppc_elf_validate_fix): Don't report warnings for PIC style shared + libraries. + +Tue Dec 3 23:18:29 1996 Michael Meissner <meissner@tiktok.cygnus.com> + + * config/tc-ppc.h ({tc,ppc}_comment_chars): Define, so that we can + change the comment characters. + + * config/tc-ppc.c (comment_chars): Delete in favor of + tc_comment_chars. + (ppc_{eabi,solaris}_comment_chars): Eabi and Solaris versions of + comment chars. + (ppc_comment_chars): Select appropriate comment chars by default. + (msolaris): New flag for -m{,no-}solaris. + (md_parse_option): Recognize -K pic. Add support for + -m{,no-}solaris. + (md_show_usage): Update. + (md_begin): Do not set ELF flags if Solaris. + (ppc_elf_suffix): @local sets R_PPC_LOCAL24PC relocation. + (md_apply_fix3): Add support for R_PPC_LOCAL24PC. + +Mon Dec 2 13:48:57 1996 Ian Lance Taylor <ian@cygnus.com> + + * as.c (main): Correct handling of flag_always_generate_output. + +Sun Dec 1 21:46:05 1996 Jeffrey A Law (law@cygnus.com) + + * config/tc-mn10300.c (tc_gen_reloc): Get the addend from + fx_offset, not fx_addnumber. + + * config/tc-mn10300.h (tc_fix_adjustable): Don't do any + reloc adjustments. + +Sat Nov 30 17:34:48 1996 Eliot Dresselhaus <eliot@wally.edc.com> + + * config/tc-i386.c: Correct misspelling: balenced to balanced. + +Wed Nov 27 13:25:39 1996 Ian Lance Taylor <ian@cygnus.com> + + * config/tc-mips.c (md_section_align): Check for an alignment of + 4, not an alignment of 16. Corrects August 7 patch. + +Tue Nov 26 10:33:16 1996 Ian Lance Taylor <ian@cygnus.com> + + * configure, conf.in: Rebuild with autoconf 2.12. + + * config/tc-ppc.c (ppc_elf_lcomm): Don't give an error if no + alignment is specified. + + Add support for mips16 (16 bit MIPS implementation): + * config/tc-mips.c: Extensive additions for mips16 support, not + listed here. + (RELAX_OLD, RELAX_NEW): Use only 7 bits each. + (insn_uses_reg): Change last parameter to an enum. + * config/tc-mips.h (LOCAL_LABELS_DOLLAR): Define as 0. + (md_relax_frag): Define as mips_relax_frag. + (mips_relax_frag): Declare. + (struct mips_cl_insn): Add use_extend and extend fields. + (tc_fix_adjustable): Define. + * config/obj-elf.h (S_GET_OTHER): Define. + (S_SET_OTHER): Define. + +Mon Nov 25 18:02:29 1996 J.T. Conklin <jtc@beauty.cygnus.com> + + * config/tc-m68k.c (m68k_ip): Implement cases for new <, >, m, n, + o and p operand specifiers. + +Mon Nov 25 10:45:14 1996 Doug Evans <dje@seba.cygnus.com> + + * write.c: Delete "ifndef md_relax_frag" around is_dnrange. + (relax_segment, case rs_org): Move code inside braces. Move locals + target,after inside too. + (relax_segment, case rs_machine_dependent): Guts moved to ... + (relax_frag): New function. + Call md_prepare_relax_scan if defined. + * config/tc-m68k.h (md_prepare_relax_scan): Renamed from + M68K_AIM_KLUDGE. + +Mon Nov 25 08:49:36 1996 Jeffrey A Law (law@cygnus.com) + + * config/tc-mn10300.c (address_registers): Use '$' as register + prefix instead of '%'. + (data_registers, other_registers, md_assemble): Likewise. + + * config/tc-mn10300.c (address_registers): Use '%' prefix for regs. + (data_registers, other_registers, md_assemble): Likewise. + + * config/tc-mn10300.c (md_assemble): Correctly determine the + correct location and type for each relocation. + (md_pcrel_from): Simplify. + +Fri Nov 22 15:42:26 1996 Ian Lance Taylor <ian@cygnus.com> + + * config/tc-sh.c (md_convert_frag): Improve warning when branch is + converted into branch around branch. + +Thu Nov 21 11:56:11 1996 Jeffrey A Law (law@cygnus.com) + + * config/tc-mn10300.h (DIFF_EXPR_OK): Don't define this. + (tc_fix_adjustable): Don't adjust relocs against weak symbols or + pc-relative relocs. + * config/tc-mn10300.c (md_begin): Set linkrelax. + (md_assemble): Create fixups as needed. + (md_apply_fix3): Gut. It shouldn't ever get called anymore. + +Tue Nov 19 17:48:06 1996 Michael Meissner <meissner@tiktok.cygnus.com> + + * config/tc-d10v.c (parallel_ok): When automatically converting + serial ops to parallel, do not consider a branch as the first + instruction. + +Tue Nov 19 13:35:22 1996 Jeffrey A Law (law@cygnus.com) + + * config/tc-mn10300.c (md_assemble): Handle MN10300_OPERAND_REG_LIST. + +Mon Nov 18 15:26:55 1996 Jeffrey A Law (law@cygnus.com) + + * config/tc-mn10300.c (mn10300_insert_operand): Provide prototype + via PARAMS. + (check_operand): Likewise. + +Mon Nov 18 15:22:28 1996 Michael Meissner <meissner@tiktok.cygnus.com> + + * config/tc-d10v.c (parallel_ok): Branch and link instructions + modify r13. + (write_2_short): Call parallel_ok to check whether two short + instructions the user requested execute in parallel, can be + executed that way. + +Thu Nov 14 11:17:49 1996 Martin M. Hunt <hunt@pizza.cygnus.com> + + * config/tc-d10v.c (write_2_short): Fix bug that wouldn't + allow a branch and link in parallel with an exe instruction. + +Fri Nov 8 13:55:03 1996 Martin M. Hunt <hunt@pizza.cygnus.com> + + * doc/c-d10v.texi: Add info on @word modifier. + +Wed Nov 6 13:46:07 1996 Jeffrey A Law (law@cygnus.com) + + * config/tc-mn10300.c (mn10300_insert_operand): MN10300_OPERAND_SPLIT + operands are assumed to be 32bits. Use "bits" field to hold the + number of bits in the main instruction word for MN10300_OPERAND_SPLIT. + (mn10300_check_operand): MN10300_OPERAND_SPLIT operands are assumed + to be 32bits. + + * config/tc-mn10300.c (mn10300_insert_operand): Shift low part + of a MN10300_OPERAND_SPLIT operand by operand->shift. + + * config/tc-mn10300.c (mn10300_insert_operand): Handle + MN10300_OPERAND_SPLIT. + +Tue Nov 5 13:30:40 1996 Jeffrey A Law (law@cygnus.com) + + * config/tc-mn10300.c (md_assemble): Insert operands into + the extension part of the instruction if necessary. + (mn10300_insert_operand): Accept pointer to extension word + argument. Make insn a pointer argument too. Return type + is now void. All callers changed. + +Mon Nov 4 12:53:40 1996 Jeffrey A Law (law@cygnus.com) + + * config/tc-mn10300.c (mn10300_insert_operand): Handle + repeated register operands. + +Fri Nov 1 10:42:49 1996 Ian Lance Taylor <ian@cygnus.com> + + * doc/as.texinfo: Added section on reporting bugs. + + * config/tc-alpha.c: Change uses of void * to PTR. Change the + alpha_macro emit field to expect a const argument, and change the + arg field to be const. Fix some spacing to follow the GNU + standard. + +Fri Nov 1 10:32:03 1996 Richard Henderson <rth@tamu.edu> + + * config/tc-alpha.c (md_parse_option): Add knowledge of 21164pc + (pca56) and 21264 (ev6) cpus. + (md_apply_fix): Private relocation types are now negative. + (alpha_force_relocation): Likewise. + (tc_gen_reloc): Likewise. + (emit_insn): Likewise. + (emit_ldXu): Do the right thing when the hardware can do byte insns. + (emit_stX): Likewise. + (emit_sextX): Likewise. + +Thu Oct 31 16:33:21 1996 Ian Lance Taylor <ian@cygnus.com> + + * config/obj-coff.c (do_relocs_for): Call resolve_symbol_value on + a symbol found in a reloc. + + * symbols.c (resolve_symbol_value): Improve the error message if + an undefined symbol is used in an expression. + +Wed Oct 30 20:15:35 1996 Ian Lance Taylor <ian@cygnus.com> + + * doc/internals.texi: Rewrite, and add a lot of documentation. + * doc/Makefile.in (internals.info): New target. + +Mon Oct 28 10:48:40 1996 Martin M. Hunt <hunt@pizza.cygnus.com> + + * config/tc-d10v.h (md_cleanup): New function. This is needed to + write out any buffered instructions when a ".end" is found. + +Mon Oct 28 10:43:45 1996 Martin M. Hunt <hunt@pizza.cygnus.com> + + * read.c (read_a_source_file): New hook md_cleanup(). + +Fri Oct 25 00:01:00 1996 Ian Lance Taylor <ian@cygnus.com> + + * write.c (fix_new_exp): Use make_expr_symbol to build an + expression symbol for a complex fixup. + +Wed Oct 23 18:20:29 1996 Ian Lance Taylor <ian@cygnus.com> + + * config/tc-ppc.c (md_apply_fix3): Give a better warning message + for an unknown relocation type. + +Tue Oct 22 17:09:32 1996 Michael Meissner <meissner@tiktok.cygnus.com> + + * config/tc-d10v.c (parallel_ok): Don't allow illegal combinations + of instructions. + +Tue Oct 22 11:28:39 1996 Ian Lance Taylor <ian@cygnus.com> + + * obj.h (struct format_ops): Add frob_file_after_relocs field. + * config/obj-multi.h (obj_frob_file_after_relocs): Define. + * config/obj-ecoff.c (ecoff_format_ops): Initialize new + frob_file_after_relocs field. + * config/obj-elf.c (elf_format_ops): Likewise. + * config/tc-mips.c: Undefine obj_frob_file_after_relocs before + including obj-elf.h. + +Mon Oct 21 11:38:30 1996 Ian Lance Taylor <ian@cygnus.com> + + * config/tc-mips.c (cons_fix_new_mips): Only treat 8 byte reloc + specially if not ELF. + (md_apply_fix): Handle BFD_RELOC_64. + (tc_gen_reloc): Handle BFD_RELOC_64. + + * config/tc-i386.c (md_apply_fix3): Don't increment value for a PC + relative reloc when BFD_ASSEMBLER and OBJ_AOUT (more ugly gas + reloc hacking). + + * config/obj-aout.h (S_IS_DEFINE): non BFD_ASSEMBLER version: + Don't check S_GET_OTHER. + +Fri Oct 18 14:06:26 1996 Ian Lance Taylor <ian@cygnus.com> + + * config/tc-mips.c (mips_ip): Accept an odd floating point + register with l.s or s.s. + + * config/obj-aout.c (obj_pseudo_table): Use obj_aout_type for + .type pseudo-op. + (obj_aout_type): New static function. + +Thu Oct 17 17:55:17 1996 Ian Lance Taylor <ian@cygnus.com> + + * Makefile.in ($(OBJS)): Depend upon libiberty.h. + +Mon Oct 14 13:59:12 1996 Ian Lance Taylor <ian@cygnus.com> + + * config/tc-mips.c (load_register): Add cast to offsetT when using + a constant with &~. + +Mon Oct 14 11:24:28 1996 Richard Henderson <rth@tamu.edu> + + * config/obj-elf.c (elf_frob_file): Move ECOFF debug processing to ... + (elf_frob_file_after_relocs): ... here. New function. + * config/obj-elf.h (obj_from_file_after_relocs): New macro. + * write.c (write_object_file): Call *frob_after_relocs after the + call to write_relocs. + + * config/tc-alpha.c: Use new BFD_RELOC_ALPHA_ELF_LITERAL reloc. + + * config/tc-alpha.c (load_expression): Don't SET_VALUE on the section + symbol, as this messes up linking. Instead, expand the recursive call + inline and change up the appropriate bits to get the 0x8000 offset + in the reloc addend. + +Thu Oct 10 17:30:31 1996 Ian Lance Taylor <ian@cygnus.com> + + * config/tc-sparc.h (tc_fix_adjustable): Permit the difference of + two symbols in the same segment to be adjusted. + + * configure.in: Don't get confused by CPU-VENDOR-linux-gnu. + * configure: Rebuild. + +Thu Oct 10 17:22:18 1996 Michael Meissner <meissner@tiktok.cygnus.com> + + * config/tc-ppc.c (ppc_insert_operand): Change most warnings into + errors. + (ppc_elf_validate_fix): Ditto. + (md_assemble): Ditto. + (ppc_tc): Ditto. + (ppc_pe_section): Ditto. + (ppc_frob_symbol): Ditto. + +Thu Oct 10 12:05:45 1996 Jeffrey A Law (law@cygnus.com) + + * config/mn10300.c (md_assemble): Pass an extra shift count + to mn10300_insert_operand based on the opcode format. + (mn10300_insert_operand): Accept and use extra shift count + parameter. + + * config/tc-mn10300.c (md_assemble): Use FMT_* macros for + formats rather than hard-coded constants. + + * config/tc-mn10300.c (md_assemble): Format D5 instructions + are 7 bytes long. Write out instructions in big-endian format. + +Tue Oct 8 14:56:15 1996 Jeffrey A Law (law@cygnus.com) + + * config/tc-mn10300.c (md_assemble): Tweak further so + that all instructions are parsed correctly. + +Tue Oct 8 13:02:21 1996 Ian Lance Taylor <ian@cygnus.com> + + * as.h: Include libiberty.h. + (xmalloc, xrealloc): Don't declare. + * as.c: Don't include libiberty.h. + * expr.c, read.c, stabs.c, config/obj-coff.c: Likewise. + * config/tc-mips.c: Likewise. + * messages.c: Likewise. + (xstrerror): Don't declare. + * xmalloc.c: Remove. + +Mon Oct 7 16:53:23 1996 Jeffrey A Law (law@cygnus.com) + + * config/tc-mn10300.h (pre_defined_registers) Remove. + (system_registers, cc_names): Likewise. + (address_registers, data_registers, other_registers): New register + arrays. + (register_name, system_register_name, cc_name): Remove. + (mn10300_reloc_prefix): Likewise. + (data_register_name): New function. + (address_register_name, other_register_name): Likewise. + (md_assemble): Rough cut at parsing operands. Remove lots of + unwanted code. + (md_apply_fix3): Disable for now. + +Mon Oct 7 11:38:34 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> + + * config/tc-m68k.c (select_control_regs): New function, extracted + out of m68k_init_after_args. + (m68k_init_after_args): Use it. + (mri_chip): Use it here as well to update set of allowed control + regs for movec. + +Mon Oct 7 11:24:29 1996 Ian Lance Taylor <ian@cygnus.com> + + * config/obj-elf.c (elf_begin): New function. + (obj_elf_section): Add the section symbol to the symbol table. + * config/obj-elf.h (obj_begin): Define. + (elf_begin): Declare. + * as.c (perform_an_assembly_pass): Call obj_begin if it is + defined. + +Fri Oct 4 18:37:32 1996 Ian Lance Taylor <ian@cygnus.com> + + * config/obj-coff.c (fixup_segment): Subtract the section address + from a PC relative reloc if TC_M68K. + +Thu Oct 3 15:15:30 1996 Ian Lance Taylor <ian@cygnus.com> + + * config/tc-sparc.c (md_pseudo_table): Make .uahalf, .uaword, and + .uaxword available even if not OBJ_ELF. + (md_atof): Remove unused local variable wordP. + +Thu Oct 3 00:16:50 1996 Jeffrey A Law (law@cygnus.com) + + * config/tc-mn10x00.c, config/tc-mn10x00.h: New files + for Matsushita MN10x00 support. + * configure.in: Recognize mn10x00-*-* + * configure: Rebuilt. + +Wed Oct 2 15:54:03 1996 Klaus Kaempf <kkaempf@progis.de> + + * obj-evax.h: move openvms definitions from here to tc-alpha.c. + * tc-alpha.c: add support for vms_case_hack like in vax/vms. + (load_expression): track clobbering of base reg before jmp/jsr. + (s_alpha_file): pass case_hack flags and source filename via + symbol table to bfd. + * tc-alpha.h (TC_CONS_FIX_NEW): define + +Tue Oct 1 16:16:01 1996 Joel Sherrill <joel@oarcorp.com> + + * configure.in (mips-*-rtems*): New target, like mips-*-elf*. + * configure: Rebuild. + +Tue Oct 1 12:37:48 1996 Ian Lance Taylor <ian@cygnus.com> + + * read.c (s_macro): Warn if a macro has the same name as a + pseudo-op. + (s_space): In m68k MRI mode, align to a word boundary. + * macro.c (define_macro): Add namep parameter. Change all + callers. + * macro.h (define_macro): Update declaration. + + * as.c (show_usage): Print bug report address. + (parse_args): Change version printing to match current GNU + standards. + * gasp.c (show_usage): Print bug report address. + (main): Change version printing to match current GNU standards. + + * config/tc-m68k.c (init_table): Correct access control unit + register numbers. From Ken Rose <rose@netcom.com>. + + * config/tc-alpha.c: Add some static function prototypes. + (alpha_macros): Move to top of file. Make static. + (alpha_num_macros): Move to top of file. + +Sat Sep 28 03:38:08 1996 Ian Lance Taylor <ian@cygnus.com> + + * listing.c (list_symbol_table): Remove bogus code in BFD64 case, + and just call sprintf_vma. + +Thu Sep 26 16:04:11 1996 Ian Lance Taylor <ian@cygnus.com> + + * expr.c (expr): Change >>= to >> (fix typo). (From meissner). + +Tue Sep 24 19:05:08 1996 Ian Lance Taylor <ian@cygnus.com> + + * read.c (float_cons): Call md_flush_pending_output if it is + defined. + +Tue Sep 24 12:22:18 1996 Martin M. Hunt <hunt@pizza.cygnus.com> + + * config/tc-d10v.c (md_operand): Created. Allows operands to + start with '#'. + * config/tc-d10v.h (md_operand): Undefined. + +Mon Sep 23 12:13:18 1996 Ian Lance Taylor <ian@cygnus.com> + + * config/tc-m68k.c (add_fix): Treat a width of '3' like 'B'. + (md_assemble): A fixup width of '3' means a 1 byte reloc. + +Thu Sep 19 12:21:24 1996 Ian Lance Taylor <ian@cygnus.com> + + * config/obj-coff.c (fixup_segment): Don't adjust PC relative + reloc for the i960 for a reloc in the same section. This undoes + one of the two changes made Aug 19. + +Wed Sep 18 12:11:58 1996 Ian Lance Taylor <ian@cygnus.com> + + * config/obj-coff.c (obj_coff_endef): Both versions: Move C_STAT + symbols to the position of the debugging information. + +Mon Sep 16 11:41:40 1996 Ian Lance Taylor <ian@cygnus.com> + + * expr.c (expr): Always use unsigned right shifts for >>. + +Thu Sep 12 10:25:45 1996 James G. Smith <jsmith@cygnus.co.uk> + + * config/tc-arm.c (md_apply_fix3): Update two thumb instruction + slots when processing BL fixups. + + * config/tc-arm.c (output_inst): Ensure Thumb BL fixup is marked + on the first half of the instruction. + +Wed Sep 11 00:09:35 1996 Ian Lance Taylor <ian@cygnus.com> + + * ecoff.c (ecoff_stab): Create an expression symbol for a complex + stabs expression, rather than giving an error. + + * ecoff.c (ecoff_new_file): Don't do anything if we are still in + the same file. + +Tue Sep 10 11:45:37 1996 Ian Lance Taylor <ian@cygnus.com> + + * config/tc-mips.c (append_insn): Fill in the value for a constant + jump, rather than creating a reloc. + +Mon Sep 9 10:57:42 1996 Ian Lance Taylor <ian@cygnus.com> + + * config/tc-mips.c (append_insn): Don't swap an instruction which + sets a condition code with an instruction which uses a condition + code. + (mips_ip): In cases 'N' and 'M', look for $fccN rather than an + immediate value. + + * config/tc-mips.c (md_begin): Recognize r5000 for cpu. + (mips_ip): Give a better error message if the ISA level is wrong. + (md_parse_option): Recognize -mcpu=[v][r]5000. + +Sat Sep 7 13:25:55 1996 James G. Smith <jsmith@cygnus.co.uk> + + * config/tc-mips.c (COUNT_TOP_ZEROES): Added macro to count + leading zeroes. + (load_register): Ensure hi32 bits are not lost during lo32bit + processing. Fix shift offset that was overflowing into the next + instruction field. Add code to generate shorter sequences for + constants with a single contiguous seqeuence of ones. + +Fri Sep 6 17:07:12 1996 Martin M. Hunt <hunt@pizza.cygnus.com> + + * config/tc-d10v.c (d10v_dot_word): New function to support + "@word" with the word pseudo-op. + (md_apply_fix3): Cleanup and changes to support correct sizes + for 16 and 18-bit relocs. + +Fri Sep 6 16:00:29 1996 Doug Evans <dje@canuck.cygnus.com> + + * configure.in (sparc-*-aout): Set `em'. + * configure: Regenerated. + * config/te-sparcaout.h: New file. + * config/tc-sparc.h (TARGET_BYTES_BIG_ENDIAN): Define. + Ifdef TE_SPARCOUT define TARGET_FORMAT and SPARC_BIENDIAN. + * config/tc-sparc.c (INSN_BIG_ENDIAN): New macro. + (SPECIAL_CASE_{SETSW,SETX}): Define. + ({NOP,OR,FMOVS,SETHI,SLLX,SRA}_INSN): Define. + (md_begin): Delete setting of `target_big_endian'. + (output_insn): New function. + (md_assemble): Rewrite. Add `setx' support. + (sparc_ip): Handle `0' operand char. Recognize setuw, setsw, setx + special cases. + (md_atof): Add little endian support. + (md_number_to_chars): Likewise. + (md_apply_fix): Likewise. + (md_longopts): Recognize -EL,-EB ifdef SPARC_BIENDIAN. + (md_parse_option): Likewise. + (md_show_usage): Print -EL, -EB ifdef SPARC_BIENDIAN. + +Thu Sep 5 13:40:29 1996 Ian Lance Taylor <ian@cygnus.com> + + * ecoff.c (ecoff_new_file): New function. + * ecoff.h (ecoff_new_file): Declare. + * config/obj-ecoff.h (obj_app_file): Define. + +Thu Sep 5 13:39:25 1996 Richard Henderson <rth@tamu.edu> + + * config/tc-alpha.c (load_expression): Bias the .lit8 section + symbol by 32k so that our 16-bit signed offset can address the + entire chunk. Reported by <matt@lkg.dec.com>. + +Wed Sep 4 10:23:20 1996 Ian Lance Taylor <ian@cygnus.com> + + * config/tc-mips.c (load_register): Remove unused variable tmp. + +Wed Sep 4 11:24:29 1996 James G. Smith <jsmith@cygnus.co.uk> + + * config/tc-mips.c (load_register): Remove unnecessary code that + was causing the high 32bits of 64bit constants to be lost. + +Tue Sep 3 13:52:56 1996 Martin M. Hunt <hunt@pizza.cygnus.com> + + * config/tc-d10v.c: Added changes to support function + pointers and "@word" syntax. + +Fri Aug 30 18:12:00 1996 Ian Lance Taylor <ian@cygnus.com> + + Add SH ELF support. + * configure.in (sh-*-elf*): New target. + * config/tc-sh.h (TARGET_ARCH): Define. + (WORKING_DOT_WORD): Define. + (TC_COFF_FIX2RTYPE): Only define if OBJ_COFF. + (BFD_ARCH, COFF_MAGIC, TC_COUNT_RELOC): Likewise. + (TC_RELOC_MANGLE, tc_coff_symbol_emit_hook): Likewise. + (DO_NOT_STRIP, NEED_FX_R_TYPE, TC_KEEP_FX_OFFSET): Likewise. + (TC_COFF_SIZEMACHDEP, tc_frob_file): Likewise. + (SUB_SEGMENT_ALIGN): Likewise. + (RELOC_32): Don't define. + (tc_frob_file_before_adjust): Define if BFD_ASSEMBLER. + (target_big_endian): Declare if OBJ_ELF. + (TARGET_FORMAT): Define if OBJ_ELF. + * config/tc-sh.c: Use BFD reloc codes instead of SH COFF reloc + numbers throughout. + (tc_crawl_symbol_chain): Only define if OBJ_COFF. + (tc_headers_hook, tc_coff_sizemachdep): Likewise. + (struct sh_count_relocs): Define. + (sh_count_relocs): New static function, broken out of + sh_frob_file. Add BFD_ASSEMBLER code. + (sh_frob_section): Likewise. + (sh_frob_file): Call sh_frob_section. + (md_convert_frag): If BFD_ASSEMBLER, change type of headers, and + call section_symbol rather than seg_info (seg)->dot. + (md_section_align): Add OBJ_ELF version. + (SWITCH_TABLE_CONS): Define. + (SWITCH_TABLE): Use SWITCH_TABLE_CONS. + (md_apply_fix): Change parameter types if BFD_ASSEMBLER. Only + handle fx_r_type == 0 if not BFD_ASSEMBLER. Return 0 if + BFD_ASSEMBLER. + (struct reloc_map): Define if not BFD_ASSEMBLER. + (coff_reloc_map): Likewise. + (sh_coff_reloc_mangle): Use coff_reloc_map to convert fx_r_type. + (tc_gen_reloc): New function if BFD_ASSEMBLER. + * write.c (write_relocs): Ifdef out fx_where test which triggers + inappropriately for SH ELF. + (write_object_file): Call tc_frob_file_before_adjust and + obj_frob_file_before_adjust if they are defined. + + * write.c (write_object_file): Use BFD_RELOC_16, not + BFD_RELOC_NONE, when calling fix_new_exp for a broken word. + + * read.c (emit_expr): Fix conversion of byte count to BFD reloc + code. + +Fri Aug 30 14:47:38 1996 Martin M. Hunt <hunt@pizza.cygnus.com> + + * config/tc-d10v.c (find_opcode): Fix problem with calculating + branch sizes in across sections. + +Wed Aug 28 19:20:04 1996 Martin M. Hunt <hunt@pizza.cygnus.com> + + * config/tc-d10v.c (find_opcode): Fix a bug which could generate + the wrong opcode for cases like st2w where there are many forms + of the same instruction. + +Tue Aug 27 13:53:22 1996 Ian Lance Taylor <ian@cygnus.com> + + * expr.c (operand): If md_parse_name is defined, call it before + calling symbol_find_or_make. + * config/tc-ppc.h (md_parse_name): Define. + (ppc_parse_name): Declare. + * config/tc-ppc.c (reg_name_search): Add regs and regcount + parameters. + (register_name): Update call to reg_name_search. + (cr_operand): New static variable. + (cr_names): New static const array. + (ppc_parse_name): New function. + (md_assemble): If PPC_OPERAND_CR is set in the operand flags, set + cr_operand before calling expression. + +Tue Aug 27 09:05:50 1996 Jeffrey A Law (law@cygnus.com) + + * config/tc-hppa.c (tc_gen_reloc): Add new argument to + hppa_gen_reloc_type call. + +Mon Aug 26 18:24:51 1996 Martin M. Hunt <hunt@pizza.cygnus.com> + + * config/tc-d10v.c: Fixed ".word". Fixed problem with range checking + on addresses. Improved error messages. + * doc/c-d10v.texi: Added docs for register pairs. + +Mon Aug 26 13:39:27 1996 Martin M. Hunt <hunt@pizza.cygnus.com> + + * config/tc-d10v.c (parallel_ok): Fix bug in parallel + checking code. + +Mon Aug 26 14:38:22 1996 Ian Lance Taylor <ian@cygnus.com> + + * ecoff.c (init_file): Initialize fMerge to 1. + (add_file): Restore old file merging code, but only merge files if + fMerge is set. + (ecoff_directive_loc): Clear fMerge field of current file. + (ecoff_generate_asm_lineno): Likewise. + +Fri Aug 23 11:40:47 1996 Martin M. Hunt <hunt@pizza.cygnus.com> + + * doc/c-d10v.texi: Fix typo. + +Thu Aug 22 10:20:30 1996 Ian Lance Taylor <ian@cygnus.com> + + * configure.in: Set and substitute HLDENV. + * configure: Rebuild. + * Makefile.in (HLDENV): New variable. + (as.new): Use $(HLDENV). + + * ecoff.c (ecoff_directive_endef): Avoid a division by zero error + if an array dimension is not known. + +Thu Aug 22 10:50:00 1996 Martin M. Hunt <hunt@pizza.cygnus.com> + + * config/tc-d10v.c: Fix a reloc bug caused by my last change. + * doc/c-d10v.texi: Cleanup. + +Wed Aug 21 15:50:54 1996 Martin M. Hunt <hunt@pizza.cygnus.com> + + * doc/c-d10v.texi: New file. + * doc/all.texi: Added D10V stuff. + * doc/as.texinfo: Added D10V stuff. + +Tue Aug 20 14:10:02 1996 Martin M. Hunt <hunt@pizza.cygnus.com> + + * config/tc-d10v.c: All references to defined symbols should + now use the optimal instruction. .float and .double now work. + +Mon Aug 19 14:41:36 1996 Ian Lance Taylor <ian@cygnus.com> + + * config/obj-coff.c (fixup_segment): Adjust PC relative reloc by + section address for the i960 as is done for the i386. + +Thu Aug 15 16:37:59 1996 Stan Shebs <shebs@andros.cygnus.com> + + * mpw-config.in: Add wildcards for config matching, add mips-*-* + case, forward-include bfd/elf-bfd.h. + +Thu Aug 15 13:24:30 1996 Martin M. Hunt <hunt@pizza.cygnus.com> + + * config/tc-d10v.c: Add additional information to the opcode + table to help determinine which instructions can be done + in parallel. + +Thu Aug 15 17:01:31 1996 James G. Smith <jsmith@cygnus.co.uk> + + * config/tc-arm.c: Major changes to add Thumb support, with lots + of change input from <rearnsha@armltd.co.uk>. + Reverted to INSN_SIZE macro, rather than insn_size variable. + (insns): Added ARM "bx" instruction support. + (tinsns): Added Thumb instruction definition structure. + (arm_tops_hsh): Added hash structure for Thumb opcodes. + (md_pseudo_table): Added ".arm", ".thumb" and ".code" pseudo-ops. + (opcode_select,s_arm,s_thumb,s_code): Added. + (decode_shift): Allow upper-case RRX. + (do_ldst): Simpler halfword support. + (do_ldmstm): Improved. + (reg_list, do_bx, thumb_reg, thumb_add_sub, thumb_shift, + thumb_mov_compare, thumb_load_store, do_t_arit, do_t_add, + do_t_asr, do_t_branch, do_t_bx, do_t_compare, do_t_ldmstm, + do_t_ldrb, do_t_ldrh, do_t_lds, do_t_lsl, do_t_lsr, do_t_mov, + do_t_push_pop, do_t_str, do_t_strb, do_t_strh, do_t_sub, do_t_swi, + do_t_adr): Added. + (md_apply_fix3): Add support for BFD_RELOC_ARM_THUMB_* relocations. + (md_parse_option): Add support for -mthumb. + (md_show_usage): Updated to reflect new command line option. + (arm_data_in_code, arm_canonicalize_symbol_name): Added. + * config/tc-arm.h: Provide TC_FIX_TYPE to allow private ARM + fragment information to be held. + +Thu Aug 15 16:12:00 1996 Richard Earnshaw (rearnsha@armltd.co.uk) + + * tc-arm.c (md_apply_fix3): Also set fixP->fx_done if fx_addsy is + non-null, but is a constant. + (fix_new_arm): Call make_expr_symbol to make the expression symbol + so that error reporting will work correctly. + +Wed Aug 14 10:37:21 1996 Ian Lance Taylor <ian@cygnus.com> + + * config/tc-i386.c (tc_i386_fix_adjustable): Don't adjust relocs + against weak symbols. + +Tue Aug 13 17:39:24 1996 Ian Lance Taylor <ian@cygnus.com> + + * config/tc-ppc.h (TC_FORCE_RELOCTION): Define if OBJ_XCOFF. + (ppc_force_relocation): Declare if OBJ_XCOFF. + * config/tc-ppc.c (ppc_force_relocation): New function if + OBJ_XCOFF. + +Mon Aug 12 16:49:43 1996 Ian Lance Taylor <ian@cygnus.com> + + * config/tc-mips.h (BYTE_ORDER): Don't define. No longer used. + +Fri Aug 9 17:48:28 1996 Martin M. Hunt <hunt@pizza.cygnus.com> + + * config/tc-d10v.c: Fix problem with relocs. + +Fri Aug 9 14:16:14 1996 Ian Lance Taylor <ian@cygnus.com> + + * config/tc-sh.c (sh_do_align): If not BFD_ASSEMBLER, always align + with nops if not in data_section or bss_section. + +Thu Aug 8 12:32:56 1996 Klaus Kaempf <kkaempf@progis.de> + + Add support for openVMS/Alpha. + * as.h (PRINTF_LIKE): Don't define if VMS, for now. + * config/obj-evax.c: New file. + * config/obj-evax.h: New file. + * config/tc-alpha.c: Add support for EVAX format if OBJ_EVAX is + defined. + * config/tc-alpha.h: Add support for EVAX format if OBJ_EVAX is + defined. Add case for bfd_target_evax_flavour. + * config/vms-a-conf.h: New file. + * conf-a-gas.com: New file. + * configure.in: Add target alpha-*-*vms*. + * configure: Rebuild. + * makefile.vms: New file. + * read.c (s_lcomm): Align bss_seg on 8 byte boundary if OBJ_EVAX. + Don't call ffs on openVMS/Alpha. + +Wed Aug 7 14:19:03 1996 Philippe De Muyter <phdm@info.ucl.ac.be> + + * configure.in: Make GAS_CHECK_DECL_NEEDED include <string.h> or + <strings.h> if they exist. Call GAS_CHECK_DECL_NEEDED on strstr + and sbrk. + * acconfig.h (NEED_DECLARATION_STRSTR): New macro. + (NEED_DECLARATION_SBRK): New macro. + * configure, conf.in: Rebuild. + * as.h: Only include <strings.h> if HAVE_STRINGS_H. + (strstr): Declare if NEED_DECLARATION_STRSTR. + * as.c: If HAVE_SBRK and NEED_DECLARATION_SBRK, declare sbrk. + +Wed Aug 7 11:50:26 1996 Ian Lance Taylor <ian@cygnus.com> + + * symbols.c (resolve_symbol_value): Handle addition or subtraction + by a constant before entering the main switch. Reject attempts to + apply an arithmetic function to non-absolute symbols, except for + the special case of subtraction of two symbols in the same + section. + + * config/tc-mips.c (md_section_align): Do align if OBJ_ELF, but + not to more than a 16 byte boundary. + + * config/tc-i386.c (tc_gen_reloc): Accept all relocs; remove + #ifndef OBJ_ELF lines. From Eric Valette <valette@crf.canon.fr>. + (tc_gen_reloc): If out of memory call as_fatal rather than + assert. If no howto found, call as_bad_where rather than + as_fatal. Change the error message slightly. Set howto to a + non-NULL value in order to keep going. + +Tue Aug 6 12:58:03 1996 Martin M. Hunt <hunt@pizza.cygnus.com> + + * config/tc-d10v.c: Added code to support 32-bit fixups for stabs. + +Tue Aug 6 11:15:26 1996 Jeffrey A Law (law@cygnus.com) + + * config/tc-h8300.c (get_specific): New operand "size" derived + from ".b", ".w" and ".l" extensions. All callers changed. If + the base instruction has no operands, then use the size to + determine which specific instruction to use. + +Mon Aug 5 14:21:10 1996 Ian Lance Taylor <ian@cygnus.com> + + * config/tc-i960.c (mem_fmt): Call parse_expr before emit. + +Fri Aug 2 11:23:31 1996 Ian Lance Taylor <ian@cygnus.com> + + * config/tc-mips.c (md_section_align): Don't change addr if + OBJ_ELF. + +Thu Aug 1 23:51:52 1996 Jeffrey A Law (law@cygnus.com) + + * config/tc-hppa.c: Revert yesterday's changes. + +Wed Jul 31 14:46:11 1996 Martin M. Hunt <hunt@pizza.cygnus.com> + + * config/tc-d10v.c: Disable range checking on 16-bit values. + +Wed Jul 31 16:27:19 1996 Ian Lance Taylor <ian@cygnus.com> + + * config/tc-m68k.c (m68k_ip): Set ok_arch for every instruction, + not just the ones that don't match. + +Wed Jul 31 11:45:15 1996 Martin M. Hunt <hunt@pizza.cygnus.com> + + * config/tc-d10v.c: Fixed bugs in short relocs and range checking. + +Wed Jul 31 15:41:42 1996 James G. Smith <jsmith@cygnus.co.uk> + + * config/tc-arm.c: Changed INSN_SIZE to variable insn_size, as + pre-cursor to adding Thumb support. Also added cpu_variant flag + information to each of the asm_flg structures. + (md_parse_option): Updated ARM7 parsing to allow 't' for + thumb/halfword support, aswell as 'm' for long multiply. + (md_show_usage): Updated help message. + (md_assemble): Check that instruction flags are applicated to the + current cpu variant. + (md_apply_fix3, tc_gen_reloc): Add BFD_RELOC_ARM_OFFSET_IMM8 and + BFD_RELOC_ARM_HWLITERAL relocation support for new halfword and + signextension instructions. + (do_ldst): Generate halfword and signextension variants if + mnemonic flags match. + (ldst_extend): Do not allow shifts in the offset field of halfword + or signextension instructions. + (validate_offset_imm): Provide check on halfword and signextension + immediate range. + (add_to_lit_pool): Merge identical literal pool values. + +Tue Jul 30 14:28:23 1996 Jeffrey A Law (law@cygnus.com) + + * config/tc-hppa.c (selector_table): Add 'E' selector. + (cons_fix_new_hppa): Don't coke on e_esel. + (tc_gen_reloc, SOM version): Handle R_COMP2 when used + to help generate exception handling tables. + (md_apply_fix): Don't try to apply fixups with an e_esel + selector. + (hppa_fix_adjustable): Fixups with e_esel selectors + are not adjustable. + +Tue Jul 30 15:51:41 1996 Ian Lance Taylor <ian@cygnus.com> + + * config/tc-sparc.c (md_pseudo_table): Add 2byte, 4byte, and 8byte + pseudo-ops. + +Fri Jul 26 11:43:03 1996 Martin M. Hunt <hunt@pizza.cygnus.com> + + * config/tc-d10v.c: Added lots of error checking. Added hacks + to support accumulator shifts. + +Fri Jul 26 11:56:08 1996 Ian Lance Taylor <ian@cygnus.com> + + * symbols.c (S_SET_EXTERNAL): Let .weak override. + (S_CLEAR_EXTERNAL): Likewise. + (S_SET_WEAK): Remove error; just let .weak override. + +Thu Jul 25 15:22:51 1996 Martin M. Hunt <hunt@pizza.cygnus.com> + + * config/tc-d10v.c (md_assemble): Now handles multiline + instructions. + +Thu Jul 25 12:03:33 1996 Martin M. Hunt <hunt@pizza.cygnus.com> + + * config/tc-d10v.c: Fix packaging bug. Added range checking. + Added kludge for divs instruction. Fixed minor problem with + multiple text sections. + * config/tc-d10v.h (d10v_cleanup): Change prototype. + +Tue Jul 23 10:49:36 1996 Martin M. Hunt <hunt@pizza.cygnus.com> + + * config/tc-d10v.c (md_apply_fix3): Fix all instruction + addresses to be right-shifted by 2. + +Mon Jul 22 11:32:36 1996 Martin M. Hunt <hunt@pizza.cygnus.com> + + * config/tc-d10v.c: Many changes to get relocs working. + (register_name): No longer creates a symbol for register names. + (pre_defined_registers): moved to opcodes/d10v-opc.c. + (d10v_insert_operand): Now works correctly for either container. + * config/tc-d10v.h (d10v_cleanup): Declare. + +Mon Jul 22 14:01:33 1996 Ian Lance Taylor <ian@cygnus.com> + + * config/tc-mips.c (tc_gen_reloc): BFD_RELOC_PCREL_HI16_S and + BFD_RELOC_PCREL_LO16 are expected to be PC relative. + +Mon Jul 22 12:46:55 1996 Richard Henderson <rth@tamu.edu> + + * tc-alpha.c: Patches to track current minimum alignment to reduce + the number of fragments created with frag_align. + (alpha_current_align): New static variable. + (s_alpha_text): Reset alignment to 0. + (s_alpha_data, s_alpha_rdata, s_alpha_sdata): Likewise. + (s_alpha_stringer, s_alpha_space): New functions. + (s_alpha_cons, alpha_flush_pending_output): Remove functions. + (alpha_cons_align): New function to replace both of them. + (emit_insn): Only align if alpha_current_align is less than 2; + reset alpha_current_align to 2. + (s_alpha_gprel32): Likewise. + (s_alpha_section): New function. Basically duplicate the other + alpha section change hooks. Only define for ELF. + (s_alpha_float_cons): Simplify alignment handling. + (md_pseudo_table): Only define "rdata" and "sdata" if OBJ_ECOFF. + If OBJ_ELF, define "section", "section.s", "sect", and "sect.s". + Don't define the s_alpha_cons pseudo-ops. Do define + s_alpha_stringer and s_alpha_space pseudo-ops. + (alpha_align): Skip if less than current default alignment. Set + default alignment. + * tc-alpha.h (md_flush_pending_output): Remove. + (md_cons_align): Add. + + * tc-alpha.c: Add oodles of function description comments. + (md_bignum_to_chars): Remove; there are no callers. + (md_show_usage): Mention some more variants. + +Thu Jul 18 15:54:54 1996 Ian Lance Taylor <ian@cygnus.com> + + From Andrew Gierth <ANDREWG@microlise.co.uk>: + * configure.in (sparc-*-sysv4*): New target. + * configure: Rebuild. + + * config/tc-sparc.c (md_pseudo_table): Change uahalf, uaword, and + uaxword to use s_uacons. + (sparc_no_align_cons): New static variable. + (s_uacons): New static function. + (sparc_cons_align): If sparc_no_align_cons is set, just clear it + and return. + + * config/tc-sparc.c (s_common): Remove unused label allocate_bss. + + * configure.in: Add mips-*-irix6* target. Handle Irix 6 like Irix + 5 with regard to shared libraries. + * configure: Rebuild. + + * config/tc-m68k.c (m68k_ip): Use the correct length when + allocating space for the unsupported architecture error message. + +Thu Jul 18 12:57:10 1996 Michael Meissner <meissner@tiktok.cygnus.com> + + * configure.in (d10v-*-*): Allow d10v-*-*, don't require d10v-*-elf*. + +Wed Jul 17 14:25:13 1996 Martin M. Hunt <hunt@pizza.cygnus.com> + + * config/tc-d10v.c: New file. + * config/tc-d10v.h: New file. + * configure (d10v-*-elf): New target. + * configure.in (d10v-*-elf): New target. + +Fri Jul 12 20:54:19 1996 Michael Meissner <meissner@tiktok.cygnus.com> + + * config/tc-ppc.c (md_parse_option): Recognize -K PIC. + +Wed Jul 10 12:39:08 1996 Richard Henderson <rth@tamu.edu> + + * config/tc-alpha.c (alpha_align): Change fill parameter + to a pointer. Take NULL as 0 or nop depending on section. Change + all callers. + (s_alpha_align): Rename local variables. + + * doc/as.texinfo (.align): Document action of omitted + fill parameter. + +Wed Jul 10 00:23:30 1996 Ian Lance Taylor <ian@cygnus.com> + + * config/tc-ppc.c (md_apply_fix3): Give a useful error message + when an unsupported PC relative reloc is seen, rather than calling + abort. + + * app.c (do_scrub_chars): Remove not_cpp_line local variable. + Instead, check state when '#' comment is seen. + +Mon Jul 8 14:11:49 1996 Ian Lance Taylor <ian@cygnus.com> + + * config/tc-mips.c (mips_regmask_frag): Only define if OBJ_ELF or + OBJ_MAYBE_ELF. + (tc_gen_reloc): If fixup was changed to be PC relative, change + reloc type accordingly. Use name of reloc in error message. + + * as.h: Don't define const or volatile. + * flonum.h: Don't define const. + + * config/tc-m68k.c (tc_gen_reloc): Change the code appropriately + if fx_pcrel is set. Correct setting the addend case in the + OBJ_ELF case (from Andreas Schwab + <schwab@issan.informatik.uni-dortmund.de>). + (md_show_usage): Correct -mfc5200 to -m5200. + +Fri Jul 5 10:32:58 1996 J.T. Conklin <jtc@rtl.cygnus.com> + + * doc/c-m68k.texi: Document -m5200 flag. + * doc/as.texinfo: Likewise. + + * config/tc-m68k.c (m68k_ip): The coldfire does not support 8x + scale factor. + +Fri Jul 5 11:07:24 1996 Ian Lance Taylor <ian@cygnus.com> + + * symbols.c (S_SET_EXTERNAL): Change as_warn to as_bad. + (S_CLEAR_EXTERNAL, S_SET_WEAK): Likewise. + +Thu Jul 4 11:59:46 1996 Ian Lance Taylor <ian@cygnus.com> + + * Makefile.in (VERSION): Set to cygnus-2.7.1. + + * Released binutils 2.7. + +Thu Jul 4 10:11:33 1996 James G. Smith <jsmith@cygnus.co.uk> + + * config/tc-mips.c (mips_ip): Only perform range check when + dealing with O_constant expressions. + +Wed Jul 3 15:02:21 1996 J.T. Conklin <jtc@rtl.cygnus.com> + + * m68k-parse.h (m68k_register): Add new coldfile control + registers. + + * config/tc-m68k.c (mcf5200_control_regs): New variable, + array of control registers for the coldfire. + (cpu_of_arch): Added mcf5200. + (archs): Added mcf5200. + (init_table): Add new control registers. + (m68k_ip): Added support for new control registers. + (m68k_init_after_args): Likewise. + + * config/tc-m68k.c (md_show_usage): Add -m5200 to usage text. + +Wed Jul 3 16:05:50 1996 Ian Lance Taylor <ian@cygnus.com> + + * read.h (is_it_end_of_statement): Declare. + * read.c (is_it_end_of_statement): Remove declaration. + + * config/tc-ppc.c (ppc_elf_suffix): Correct parenthesization of || + within &&. + (md_assemble): Fix handling of @l with an unsigned constant. Add + default case to reloc switch. + + * config/tc-i386.h (AOUT_MACHTYPE): Define as 0 if TE_386BSD. + + Based on patches from Tom Quiggle <quiggle@sgi.com>: + * ecoff.c (last_lineno): New static variable. + (add_procedure): Set last_lineno. + (ecoff_directive_loc): Likewise. + (ecoff_generate_asm_lineno): Likewise. + (ecoff_fix_loc): New function. + * ecoff.h (ecoff_fix_loc): Declare. + * config/tc-mips.c (append_insn): When inserting nops, and using + ECOFF debugging, call ecoff_fix_loc. + +Tue Jul 2 23:02:12 1996 Jeffrey A Law (law@cygnus.com) + + * config/tc-h8300.c (build_bytes): If an operand type is + marked as SRC_IN_DST retrieve it from the "destination" op. + +Sat Jun 29 13:38:31 1996 Ian Lance Taylor <ian@cygnus.com> + + * configure.in (arm-*-riscix*): Set emulation to riscix. + * configure: Rebuild. + * config/te-riscix.h: New file to define TE_RISCIX. + + * config/tc-sh.h (SUB_SEGMENT_ALIGN): Define. + +Fri Jun 28 15:14:31 1996 Ian Lance Taylor <ian@cygnus.com> + + * Makefile.in (config.status): Just run config.status as other + tools do. + +Fri Jun 28 11:09:38 1996 Stan Shebs <shebs@andros.cygnus.com> + + * mpw-config.in (TARGET_OS): Add definition to conf. + +Thu Jun 27 20:39:40 1996 James G. Smith <jsmith@cygnus.co.uk> + + * config/tc-mips.c (append_insn): Parenthesize + cop_interlocks expressions. + +Thu Jun 27 12:18:26 1996 Ian Lance Taylor <ian@cygnus.com> + + * listing.c (listing_print): Close the listing file if it is not + stdout. Close the other files opened for the listing. + + * config/tc-sparc.h (md_cons_align): Define. + (sparc_cons_align): Declare. + (HANDLE_ALIGN): Define. + (sparc_handle_align): Declare. + * config/tc-sparc.c (sparc_cons_align): New function. + (sparc_handle_align): New function. + * read.c (cons_worker): Call md_cons_align if it is defined. + + * as.h (struct frag): Add fr_file and fr_line fields. + * frags.c (frag_new): Set fr_file and fr_line. + (frag_var): Likewise. + (frag_variant): Likewise. + + * as.h (struct frag): Remove unused align_mask and align_offset + fields. + + * listing.c (calc_hex): Offset by fr_fix when examining fr_var. + From <uddeborg@carmen.se>. + +Wed Jun 26 13:21:34 1996 Ian Lance Taylor <ian@cygnus.com> + + * configure.in (mips-*-osf*): New target. + * configure: Rebuild. + + * config/tc-m68k.c: Add 68ec060 as a synonym for 68060. + +Wed Jun 26 16:23:08 1996 James G. Smith <jsmith@cygnus.co.uk> + + * config/tc-mips.c: Added cop_interlocks, to avoid NOP insertion + between co-processor comparisons and branches for the VR4300. + +Mon Jun 24 18:02:50 1996 Jason Molenda (crash@godzilla.cygnus.co.jp) + + * Makefile.in (bindir, libdir, datadir, mandir, infodir, includedir, + INSTALL_PROGRAM, INSTALL_DATA): Use autoconf-set values. + (docdir): Removed. + * configure.in (AC_PREREQ): autoconf 2.5 or higher. + * doc/Makefile.in (bindir, libdir, datadir, mandir, infodir, + includedir): Use autoconf set values. + (docdir): Removed. + +Mon Jun 24 11:58:14 1996 Ian Lance Taylor <ian@cygnus.com> + + * listing.c (listing_eject): Don't do anything if listing is 0. + (listing_list): Likewise. + (listing_source_line): Likewise. + (listing_title): Don't save title if listing is 0. + (listing_source_file): Check listing rather than listing_tail. + + * configure.in: On alpha*-*-osf*, link against libbfd.a if not + using shared libraries. + * configure: Rebuild. + +Fri Jun 21 18:22:23 1996 Ian Lance Taylor <ian@cygnus.com> + + * config/tc-mips.c (mips_ip): In case 'i'/'j', don't require an + absolute expression if a relocation type was specified. + +Fri Jun 21 17:40:16 1996 Joel Sherrill <joel@merlin.gcs.redstone.army.mil> + + * configure.in: Add support for *-*-rtems* configurations. + * configure: Rebuild. + +Fri Jun 21 16:01:18 1996 Richard Henderson <rth@tamu.edu> + + * configure.in: Add alpha-*-linuxecoff* target. Use elf for + alpha-*-linux* target. Force bfd_gas for alpha-*. Require + opcodes library for alpha. + * configure: Rebuild with autoconf 2.10. + * config/tc-alpha.c: Substantial rewrite to add ELF support and + use new opcode table. + * config/tc-alpha.h (md_undefined_symbol): Don't define. + (LOCAL_LABEL): Define differently if OBJ_ELF. + (FAKE_LABEL_NAME): Define if OBJ_ELF. + * config/alpha-opcode.h: Remove. + * config/obj-elf.h: If TC_ALPHA, define ECOFF_DEBUGGING. + * Makefile.in (TARG_CPU_DEP_alpha): Depend upon + include/opcode/alpha.h rather than config/alpha-opcode.h. + +Thu Jun 20 19:10:28 1996 Ian Lance Taylor <ian@cygnus.com> + + * config/obj-aout.c (obj_emit_relocations): Give an error if the + relocation symbol was not resolved. + * config/obj-coff.c (do_relocs_for): Likewise. + + * write.c (adjust_reloc_syms): Refetch the symbol section after + calling S_GET_VALUE, since it may have changed. + + * expr.c (struct expr_symbol_line): Define. + (expr_symbol_lines): New static variable. + (make_expr_symbol): Add entry to expr_symbol_lines. + (expr_symbol_where): New function. + * expr.h: Use extern on function declarations. + (expr_symbol_where): Declare. + * symbols.c (resolve_symbol_value): Try to use expr_symbol_where + rather than printing the meaningless name of an expression + symbol. + +Thu Jun 20 15:57:41 1996 Ken Raeburn <raeburn@cygnus.com> + + * config/tc-i386.c (md_number_to_chars): Deleted. + * config/tc-i386.h (md_number_to_chars): New macro. + + * config/tc-alpha.c (build_operate_n, build_mem): Moved earlier in + the file. + (load_symbol_address, load_expression): Use build_mem. + (build_operate): New function. + (emit_addq_r): Use it. + + Wed Mar 13 22:14:14 1996 Pat Rankin <rankin@eql.caltech.edu> + + * symbols.c (colon): #if VMS, use S_SET_OTHER to store `const_flag'. + + Tue Mar 5 14:31:45 1996 Pat Rankin <rankin@eql.caltech.edu> + + * config/tc-vax.h (NOP_OPCODE): Define. + + Sun Feb 4 21:01:03 1996 Pat Rankin <rankin@eql.caltech.edu> + + * config/obj-vms.h (S_IS_COMMON): Define. + (S_IS_LOCAL): Check for \002 as well as \001. + (LONGWORD_ALIGNMENT): New macro. + (SUB_SEGMENT_ALIGN): Use it. + + Fri Jan 26 17:44:09 1996 Pat Rankin <rankin@eql.caltech.edu> + + * config/vms-conf.h: Reconcile with conf.in. + +Wed Jun 19 11:31:50 1996 Ian Lance Taylor <ian@cygnus.com> + + * write.c (is_dnrange): Only define if TC_GENERIC_RELAX_TABLE is + defined. + + * doc/as.texinfo: Document that any number of hex digits can + follow \x. + + * as.c (struct defsym_list): Define. + (defsyms): New static variable. + (parse_args): Just put --defsym arguments on defsyms list, rather + than defining them. + (main): Define defsyms after output file is created. + + * config/tc-m68k.c (m68k_ip): Reject PRE and POST indexing mode on + cpu32. From Eric Norum <Eric.Norum@usask.ca>. + + * config/tc-mips.c (mips_ip): In cases 'I', 'i', and 'j', set + insn_error rather than calling check_absolute_expr. + + * as.c (emulation_name): Remove unused static variable. + (default_emul_bfd_name): Add return NULL to avoid warning. + * ecoff.c (ecoff_stab): Remove unused variables name and + name_end. + * frags.c (frag_new): Remove unused variable tmp. + * hash.c (hash_grow): Parenthesize + within <<. + (hash_print_statistics): Use %lu, not %d, to print unsigned + long variables. + * messages.c: Include "libiberty.h". + (fprint_value): Add cast to avoid printf warning. + (sprint_value): Likewise. + * read.c: Include "ecoff.h". + (emit_expr): Add casts to avoid printf warnings. + * read.h: Use extern for function declarations. + (pop_insert): Declare. + * stabs.c: Include "ecoff.h". + * subsegs.c (subseg_set_rest): Remove unused variables tmp, + former_last_fragP, and new_fragP. + * subsegs.h (subsegs_print_statistics): Declare. + * symbols.c (debug_verify_symchain): Change macro to discard + arguments. + * write.c (dump_section_relocs): Likewise. + * write.h: Use extern for function declarations. + (write_print_statistics): Declare. + * config/e-mipsecoff.c (mipsecoff_bfd_name): Return NULL to avoid + warning. + * config/e-mipself.c (mipself_bfd_name): Likewise. + * config/obj-elf.h (elf_ecoff_set_ext): Declare. + + * config/tc-sparc.h (TC_RELOC_RTSYM_LOC_FIXUP): If OBJ_ELF, always + emit relocations against external symbols. + + * config/tc-alpha.c (tc_gen_reloc): Output a sensible error + message if bfd_reloc_type_lookup fails, rather than calling + assert. + + * config/tc-alpha.c (alpha_force_relocation): Add + BFD_RELOC_12_PCREL to switch. + +Tue Jun 18 20:29:57 1996 Doug Evans <dje@canuck.cygnus.com> + + * config/tc-i386.h (LOCAL_LABEL,FAKE_LABEL_NAME): Use defaults for + TE_PE (Lfoo, not .Lfoo). + +Tue Jun 18 17:13:33 1996 Ian Lance Taylor <ian@cygnus.com> + + * read.c (s_fill): Don't warn about a zero repeat count. + + * config/tc-mips.c (mips_ip): Don't warn about using AT as a + coprocessor register. + + * config/tc-i386.c (md_assemble): When checking the size of a + register to set the size of an instruction, do a bitwise and with + Reg8 and Reg16 rather than requiring the type to be exactly Reg8 + or Reg16. + +Tue Jun 18 13:19:51 1996 Jeffrey A. Law <law@rtl.cygnus.com> + + * config/tc-h8300.c (parse_reg): Tweak error messages. + (build_bytes): Likewise. + (skip_colonthing): Handle :32 suffix. + (get_specific): Promote L_24 to L_32 if it makes a match. + Don't always promote L_8 to L_16. + (do_a_fix_imm): Clean up L_32 and L_24 handling. + + * config/tc-h8300.c (Smode): New variable. + (h8300hmode): Turn off Hmode. + (h8300smode): New function. Turn on Smode and Hmode. + (md_pseudo_table): New ".h8300s" pseudo-op. + (parse_reg): Handle "exr" register. + (get_operand): Handle bizarre syntax for "stm.l" and "ldm.l". + Handle "mach" and "machl" operands for ldmac. + (get_specific): Handle "stm.l" and "ldm.l". + (build_bytes): Handle "stm.l" and "ldm.l"; handle MACREG operands. + * config/tc-h8300.h (COFF_MAGIC): Handle H8/S magic number. + (Smode): Declare. + +Mon Jun 17 15:50:53 1996 J.T. Conklin <jtc@rtl.cygnus.com> + + * doc/as.texinfo: Reorder chapter of machine dependent options so + that it is sorted by chip name. + + * doc/as.texinfo: Use consistant spelling of Vax. + * doc/c-vax.texi: Likewise. + +Mon Jun 17 11:26:56 1996 Jeffrey A. Law <law@rtl.cygnus.com> + + * config/tc-hppa.c (md_pseudo_table): Add ".begin_try" and ".end_try" + pseudo ops. + (tc_gen_reloc, SOM version): Handle R_BEGIN_TRY and R_END_TRY. + (md_apply_fix): Likewise. + (pa_try): New function. + (hppa_force_relocation): Force relocs for BEGIN_TRY and END_TRY. + +Sun Jun 16 22:57:47 1996 Jeffrey A. Law <law@rtl.cygnus.com> + + * config/tc-hppa.c (md_pseudo_table): Add ".level" pseudo op. + (pa_level): New function. + +Fri Jun 14 20:06:44 1996 Ian Lance Taylor <ian@cygnus.com> + + * listing.c (listing_newline): Don't do anything if listing is 0. + +Thu Jun 13 17:50:54 1996 Ian Lance Taylor <ian@cygnus.com> + + * subsegs.c (section_symbol): If symbol_table_frozen is set, call + symbol_create, not symbol_new. + +Wed Jun 12 14:10:44 1996 Ian Lance Taylor <ian@cygnus.com> + + * write.c (adjust_reloc_syms): Don't set sy_used_in_reloc for an + absolute symbol unless TC_FORCE_RELOCATION returns true. + + * config/obj-coff.c (previous_file_symbol): Remove BFD_ASSEMBLER + version. + (c_dot_file_symbol): BFD_ASSEMBLER version: Don't set the value of + the symbol to a pointer. Don't set previous_file_symbol. + Simplify symbol list rearrangement. + (coff_frob_symbol): Don't do anything with C_FILE symbols. + (coff_adjust_symtab): Don't check previous_file_symbol. + +Mon Jun 10 14:52:29 1996 Michael Meissner <meissner@tiktok.cygnus.com> + + * config/tc-ppc.c (ppc_elf_lcomm): New function for .lcomm + directive. + (md_pseudo_table): Add ppc_elf_lcomm. + +Mon Jun 10 11:45:51 1996 Ian Lance Taylor <ian@cygnus.com> + + * config/tc-m68k.c (m68k_ip): Accept ABSL for 'O', so that `bfextu + d0{24:1},d0' works without an immediate prefix on the bit numbers. + (md_begin): Add digits to alt_notend_table. + (md_parse_option): Make s a const pointer. + + * config/tc-sparc.c (md_pseudo_table): Add "empty". + (s_empty): New static function. + + * config/obj-coff.c (struct filename_list): Only define if not + BFD_ASSEMBLER. + (filename_list_head, filename_list_tail): Likewise. + (c_section_symbol): Remove unused BFD_ASSEMBLER version. + (obj_coff_endef, BFD_ASSEMBLER version): Don't set the debugging + flag for C_MOS, C_MOE, C_MOU, or C_EOS symbols, since they should + have a section of N_ABS rather than N_DEBUG. If we do a merge, + remove the new symbol from the list. + (obj_coff_endef, both versions): Call tag_insert even if there is + an old symbol with the same name, if the old symbol does not + happen to be a tag. + (coff_frob_symbol): Check SF_GET_TAG, C_EOF, and C_FILE outside of + the SF_GET_DEBUG condition. Don't call SA_SET_SYM_ENDNDX with a + symbol that will be moved to the end of the symbol list. + (coff_adjust_section_syms): Always call section_symbol for .text, + .data, and .bss. + (coff_frob_section): Likewise. Also, remove unused variable + strname. + + * config/tc-ns32k.c (convert_iif): Call frag_grow rather than + manipulating frags directly. + (md_number_to_field): Adjust mem_ptr correctly if ENDIAN is + defined. + + * app.c (do_scrub_chars): If '/' is LINE_COMMENT_START, check + whether the next character is '*' before checking whether we are + at the start of a line. Permit LINE_COMMENT_START to start a + comment in state 1 (seen some whitespace) as well, to match the + documentation. + + * gasp.c (do_align): Permit a fill value for .align. + +Wed Jun 5 17:09:26 1996 Ian Lance Taylor <ian@cygnus.com> + + * read.c (next_char_of_string): Warn if a newline is seen in the + middle of a string. Call bump_line_counters when appropriate. + +Wed Jun 5 17:08:36 1996 Richard Henderson <rth@tamu.edu> + + * symbols.c (colon): Use LOCAL_LABEL. + +Tue Jun 4 10:55:16 1996 Tom Tromey <tromey@csk3.cygnus.com> + + * Makefile.in (install): Don't check to see if tooldir exists. + Make $(tooldir) and $(tooldir)/bin. + +Tue Jun 4 10:14:53 1996 Michael Meissner <meissner@tiktok.cygnus.com> + + * config/ppc-sol.mt (TDEFINES): Don't turn on -mregnames by + default. + +Mon Jun 3 11:34:41 1996 Ian Lance Taylor <ian@cygnus.com> + + * config/tc-mips.c (mips_ip): Don't call as_warn if we are setting + insn_error. Don't put the string "ERROR" in insn_error. Set + insn_error rather than calling as_warn for an unsupported opcode. + +Sat Jun 1 21:51:55 1996 Ian Lance Taylor <ian@cygnus.com> + + * config/tc-mips.c (md_parse_option): Check for a 64 bit format + before permitting -64. + * output-file.c (output_file_create): Remove duplicate + bfd_perror. + +Fri May 31 01:08:06 1996 Ian Lance Taylor <ian@cygnus.com> + + * config/tc-mips.c (md_begin): If -64, create a .MIPS.options + section rather than a .reginfo section. + (mips_elf_final_processing): If -64, write out 64 bit RegInfo + information. + + * config/tc-mips.c (load_register): If mips_isa < 3, permit a 32 + bit value with the high bit set. + +Thu May 30 19:00:19 1996 Ian Lance Taylor <ian@cygnus.com> + + * read.c (s_lcomm): Set section flags for .sbss section. + + * config/tc-mips.c (mips_64): New static variable. + (mips_target_format): If mips_64, return elf64 targets rather than + elf32 ones. + (md_longopts): Add "32" and "64". + (md_parse_option): Handle -32 and -64. + (md_show_usage): Mention -32 and -64. + (cons_fix_new_mips): If mips_64, don't convert an 8 byte reloc to + a 4 byte one. + +Thu May 30 10:36:19 1996 Michael Meissner <meissner@tiktok.cygnus.com> + + * config/tc-ppc.c (comment_chars): Make '!' a comment character + for Solaris compatibility. + + * stabs.c (s_stab_generic): Under PowerPC Solaris, convert a + .stabd with 4 arguments into a .stabn. + +Wed May 29 16:43:16 1996 Ian Lance Taylor <ian@cygnus.com> + + * config/tc-mips.c (macro): When passing X_add_number to + macro_build, cast it to int first. + +Tue May 28 13:29:39 1996 Ian Lance Taylor <ian@cygnus.com> + + * config/tc-z8k.c (md_apply_fix): Handle fx_r_type of 0, as + created by emit_expr. + + * symbols.c (symbol_create): If bfd_make_empty_symbol fails, call + as_perror rather than assert. + +Fri May 24 18:24:11 1996 Ian Lance Taylor <ian@cygnus.com> + + * config/tc-mips.c (mips_ip): Mark sections created to hold + floating point information as read only. + +Fri May 24 12:07:54 1996 David Edelsohn <edelsohn@mhpcc.edu> + + * config/tc-ppc.c (ppc_set_cpu): Change defaults to match AIX. + +Thu May 23 17:34:24 1996 Michael Meissner <meissner@tiktok.cygnus.com> + + * read.c (potable): Add .skip as a synonym for .space. + + * stabs.c (s_stab_generic): For PowerPC ELF, allow .stabd to take + 4 arguments, providing the 4th argument is 0, to allow + compatibility with the Solaris assembler. + +Thu May 16 15:51:48 1996 Ian Lance Taylor <ian@cygnus.com> + + * config/tc-sh.h (struct sh_segment_info_type): Define. + (TC_SEGMENT_INFO_TYPE): Define. + (sh_frob_label): Declare. + (tc_frob_label): Define. + (sh_flush_pending_output): Declare. + (md_flush_pending_output): Define. + * config/tc-sh.c (md_assemble): If relaxing, emit a R_SH_CODE + reloc before the instruction if necessary. + (sh_frob_label): New function. + (sh_flush_pending_output): New function. + (sh_coff_frob_file): Ignore ALIGN, CODE, DATA, and LABEL relocs + when looking for the reloc for the target of .uses. + (md_convert_frag): Fix printf format (%0xlx to 0x%lx). + (sh_force_relocation): Force CODE, DATA, and LABEL relocs to be + emitted. + (md_apply_fix): Ignore CODE, DATA, and LABEL relocs. + (sh_coff_reloc_mangle): Force CODE, DATA, and LABEL relocs to use + the absolute symbol. + + * subsegs.h (segment_info_type): Add tc_segment_info_data field if + TC_SEGMENT_INFO_TYPE is defined. + +Wed May 15 12:23:53 1996 Ian Lance Taylor <ian@cygnus.com> + + * config/tc-i386.c (md_assemble): Make sure the opcode suffix + matches the register size. + +Wed May 15 08:33:37 1996 Jeffrey A Law (law@cygnus.com) + + * config/obj-coff.c (count_entries_in_chain): Ignore Fixups with + fx_done set. + (do_relocs_for): Likewise. + (fixup_segment): Don't just quit if linkrelax is set. Try to + apply non pc-relative sym1-sym2 fixups, even if linkrelax is + nonzero. + +Fri May 10 14:16:59 1996 Michael Meissner <meissner@tiktok.cygnus.com> + + * config/tc-ppc.c (ppc_elf_validate_fix): Allow GOT and section + relative relocations with -mrelocatable. Also allow unfixed + relocs in .ex_shared. + +Tue May 7 11:24:10 1996 Ian Lance Taylor <ian@cygnus.com> + + * config/obj-coff.c (yank_symbols): Check that FNAME_OFFSET is + non-zero before assuming this is a long file name. + (w_strings): Likewise. + (c_dot_file_symbol): Set FNAME_OFFSET to 1 for a long file name. + + * config/obj-coff.c (w_strings): Move declaration of i inside + #ifdef block which uses it. + +Tue May 7 00:49:58 1996 Jeffrey A Law (law@cygnus.com) + + * config/tc-h8300.c (do_a_fix_imm): Rename last argument to + "relaxmode". Output relocs which identify various relaxing + possibilities for mov.[bwl] instructions. + (build_bytes): Pass in a relaxing mode to do_a_fix_imm. + +Mon May 6 15:26:28 1996 Doug Evans <dje@canuck.cygnus.com> + + * config/tc-arm.h (TC_HANDLES_FX_DONE): Define. + (MD_APPLY_FIX3): Define. + * config/tc-arm.c (my_get_expression): Only watch for bad segments + if OBJ_AOUT. + (md_apply_fix3): Renamed from md_apply_fix. + If pcrel reloc and symbol is in different section, undo effects + of md_pcrel_from. + +Sat May 4 12:49:35 1996 Jeffrey A Law (law@cygnus.com) + + * config/tc-hppa.c (hppa_fix_adjustable): Don't adjust + any reloc with an LR% or RR% field selector for SOM. + +Sat May 4 11:26:19 1996 Ian Lance Taylor <ian@cygnus.com> + + * Makefile.in: Add subsegs.h to appropriate TARG_CPU_DEP_* + variables. + +Fri May 3 17:58:31 1996 Ian Lance Taylor <ian@cygnus.com> + + * config/obj-coff.c (coff_frob_symbol): Don't merge a symbol with + SF_GET_STATICS set. + (yank_symbols): Likewise. + +Wed May 1 13:38:17 1996 Ian Lance Taylor <ian@cygnus.com> + + * subsegs.h (segment_info_type): If MANY_SEGMENTS and not + BFD_ASSEMBLER, add name field. + * config/obj-coff.c: Include "libiberty.h". + (coff_header_append): Handle long section names. + (crawl_symbols): Just use the name field for the symbol name, + without worrying about null byte termination. + (w_strings): Handle long section names. + (write_object_file): Likewise. Also, use the name field, rather + than scnhdr.s_name. + (obj_coff_add_segment): Permit long section names. + (obj_coff_init_stab_section): Use the name field, rather than + scnhdr.s_name. + (adjust_stab_section): Likewise. + * config/te-pe.h (COFF_LONG_SECTION_NAMES): Define. + + * config/tc-i960.c (brtab_emit): Don't set fx_im_disp field. + (mem_fmt): Likewise. + (md_apply_fix): Don't check fx_im_disp field. + +Thu Apr 25 11:39:51 1996 Ian Lance Taylor <ian@cygnus.com> + + * configure.in: Add * after sparc*-*-vxworks. + * configure: Rebuild. + + * app.c (do_scrub_begin): If tc_comment_chars is not defined, + define it to comment_chars. Use tc_comment_chars rather than + comment_chars. + (do_scrub_chars): Use tc_comment_chars rather than comment_chars. + * config/tc-m68k.h (tc_comment_chars): Define. + (m68k_comment_chars): Declare. + * config/tc-m68k.c (m68k_comment_chars): Rename from + comment_chars. Change into a pointer rather than an array. + (md_longopts): Add "bitwise-or". + (md_parse_option): Handle OPTION_BITWISE_OR. + (md_show_usage): Mention --bitwise-or. + * doc/c-m68k.texi: Document --bitwise-or. + +Wed Apr 24 11:28:38 1996 Ian Lance Taylor <ian@cygnus.com> + + * config/tc-m68k.c (m68k_ip): Prevent attempts to use long offsets + in 68000 mode. + + * config/obj-coff.c (obj_coff_section): BFD_ASSEMBLER version: + call demand_empty_rest_of_line. Non BFD_ASSEMBLER version: + correct handling of input line pointer, and call + demand_empty_rest_of_line. + +Mon Apr 22 18:02:37 1996 Doug Evans <dje@blues.cygnus.com> + + * config/tc-sparc.c (in_bitfield_range): New static function. + (sparc_ip): New cases X,Y. Use SPARC_OPCODE_ARCH_V9_P. + (md_apply_fix, cases BFD_RELOC_32_PCREL_S2, + BFD_RELOC_SPARC_{WDISP16,WDISP19}): Fix undefined code. + (md_apply_fix): New cases BFD_RELOC_SPARC_[56]. + (tc_gen_reloc): New cases BFD_RELOC_SPARC_[56]. + +Thu Apr 18 18:58:33 1996 Ian Lance Taylor <ian@cygnus.com> + + * config/obj-coff.c: BFD_ASSEMBLER: + (coff_last_bf): New static variable. + (coff_frob_symbol): Set endndx of a .bf symbol. + Non BFD_ASSEMBLER: + (obj_coff_endef): Call SF_SET_PROCESS on a .bf symbol. + (last_bfP): New static variable. + (yank_symbols): Set endndx of a .bf symbol. + +Thu Apr 18 11:53:58 1996 Michael Meissner <meissner@tiktok.cygnus.com> + + * config/tc-ppc.c (md_parse_option): Add support for Solaris's -le + and -s options. Add -be for good measure. + +Wed Apr 17 12:31:01 1996 Ian Lance Taylor <ian@cygnus.com> + + * read.c (s_space): Support non-constant fill value. Handle fill + value correctly for a size other than 1. + +Tue Apr 16 15:17:40 1996 Doug Evans <dje@canuck.cygnus.com> + + * config/tc-arm.c (my_get_float_expression): Update call to + gen_to_words, X_PRECISION changed from 6 to 5. + +Tue Apr 16 10:25:42 1996 Michael Meissner <meissner@tiktok.cygnus.com> + + * config/tc-ppc.c (register_name,reg_name_search): Move register + name lookup from PE specific code to all targets. Add support for + -mregnames/-mno-regnames to control whether register names are + expanded or not. + (md_assemble): Call register_name for all platforms. + (md_parse_option): Add support for -mregnames/-mno-regnames. + + * configure.in (powerpcle*-*-solaris): Add support. + (powerpc*-*-linux): Ditto. + * configure: Regenerate. + + * config/ppc-sol.mt: New config file for PowerPC Solaris. + +Mon Apr 15 12:26:33 1996 Ian Lance Taylor <ian@cygnus.com> + + * config/tc-mips.c (mips_frob_file): Permit multiple %hi relocs to + be associated with a single %lo reloc. + + * config/tc-mips.c (load_address): Cast X_add_number to valueT + before comparing against MAX_GPREL_OFFSET, so that negative + numbers are handled correctly. + (macro): Likewise. + +Thu Apr 11 12:39:02 1996 Ian Lance Taylor <ian@cygnus.com> + + * config/tc-sparc.c (last_insn): New static variable. + (md_assemble): Warn about putting floating point branches in a + delay slot. If architecture is less than v9, insert NOP + instructions between floating point instructions and floating + point branches. (The SunOS assembler does both these operations.) + Save the last instruction opcode. + (sparc_ip): Add pinsn parameter. Change caller. + + * config/tc-m68k.c (md_estimate_size_before_relax): Correct check + for byte jump to next instruction to skip empty frags. + +Wed Apr 10 16:48:12 1996 Ian Lance Taylor <ian@cygnus.com> + + * config/tc-alpha.c (alpha_ip): If we are going to call emit_add64 + for addq with a 16 bit signed value, just emit a lda instruction + instead. + +Wed Apr 10 14:34:49 1996 Jeffrey A Law (law@cygnus.com) + + * config/tc-h8300.c (do_a_fix_imm): Don't cut off high bits + of a 32bit operand. + +Mon Apr 8 14:42:53 1996 Ian Lance Taylor <ian@cygnus.com> + + * configure.in: Permit --enable-shared to specify a list of + directories. + * configure: Rebuild. + +Fri Apr 5 17:01:35 1996 Jeffrey A Law (law@cygnus.com) + + * config/tc-h8300.c (get_specific): Remove some #if 0 code. + (build_bytes): Remove all ABSMOV related code; it's unnecessary. + +Fri Apr 5 15:13:10 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> + + * config/atof-ieee.c: Fix handling of denormalized extended + precision numbers and overflow/underflow detection. + (MAX_PRECISION, X_PRECISION, P_PRECISION): Changed from 6 to 5, to + not include the 16 bit gap in the m68k extended precision format. + +Fri Apr 5 14:29:23 1996 Ian Lance Taylor <ian@cygnus.com> + + * configure.in: Add i386-*-freebsdelf* target; from John Polstra + <jdp@polstra.com>. + * configure: Rebuild. + +Fri Apr 5 18:39:28 1996 James G. Smith <jsmith@cygnus.co.uk> + + * config/tc-mips.c: Allow non-zero offsets from .sdata symbols to + be accessed using the $gp register. + * config/tc-mips.h (MAX_GPREL_OFFSET): Added. + +Wed Apr 3 10:56:14 1996 Doug Evans <dje@canuck.cygnus.com> + + * config/tc-sparc.c (sparc_md_end): Set bfd machine number to + bfd_mach_sparc_sparclet if current_architecture is sparclet. + +Mon Apr 1 16:55:44 1996 Ian Lance Taylor <ian@cygnus.com> + + * read.c (get_line_sb): Bump line counters based on + input_line_pointer[-1], not *input_line_pointer. Don't bother to + call LISTING_NEWLINE. + (s_macro): Don't call demand_empty_rest_of_line. + * app.c (do_scrub_chars): When handling C style comments, unget + ch2 rather than ch. + +Fri Mar 29 16:15:06 1996 Ian Lance Taylor <ian@cygnus.com> + + * read.h (enum linkonce_type): Define. + (s_linkonce): Declare. + * read.c (potable): Add "linkonce". + (s_linkonce): New function. + * subsegs.h (segment_info_type): Add linkonce field to + MANY_SEGMENTS && ! BFD_ASSEMBLER section. + * config/obj-coff.h (obj_handle_link_once): Define if TE_PE. + (obj_coff_pe_handle_link_once): Declare if TE_PE. + * config/obj-coff.c: If TE_PE and not BFD_ASSEMBLER, #include + "coff/pe.h". + (obj_coff_pe_handle_link_once): New function, defined if TE_PE. + (c_section_symbol): If TE_PE, set the x_comdat field in the aux + entry based on the linkonce field in segment_info. + * doc/as.texinfo: Document .linkonce. + +Fri Mar 29 11:31:27 1996 J.T. Conklin (jtc@lisa.cygnus.com) + + * doc/as.1: Changed to be recognized by catman -w on Solaris. + +Thu Mar 28 15:27:47 1996 Ian Lance Taylor <ian@cygnus.com> + + * stabs.c (s_stab_generic): Call the listing functions before + doing the rest of the processing, which may involve freeing the + string. Pass string, not string + stroff, to OBJ_PROCESS_STAB in + SEPARATE_STAB_SECTIONS case. + + * config/tc-hppa.c: Remove nested comment. + (tc_gen_reloc): Move label done inside the ifdef in which it is + used. + (md_apply_fix): Pass pointers to correct types to libhppa.h + functions. Always return a value. + + * config/tc-mips.h (tc_frob_file): Define. + (mips_frob_file): Declare. + * config/tc-mips.c (struct mips_hi_fixup): Define. + (mips_hi_fixup_list): New static variable. + (imm_unmatched_hi): New static variable. + (md_assemble): Clear imm_reloc, imm_unmatched_hi, and + offset_reloc. Pass imm_unmatched_hi to append_insn. + (append_insn): Add unmatched_hi parameter. If it is set, add the + new fixup to mips_hi_fixup_list. Change all callers. + (mips_ip): Set imm_unmatched_hi when appropriate. + (mips_frob_file): New function. + +Thu Mar 28 11:47:59 1996 Doug Evans <dje@canuck.cygnus.com> + + * configure.in (sparc-*-solaris2*): Renamed from sparc*-*-solaris2*. + * configure: Regenerated. + +Tue Mar 26 18:19:12 1996 Ian Lance Taylor <ian@cygnus.com> + + * as.c (main): Call bfd_set_error_program_name. + +Fri Mar 22 11:13:00 1996 Ian Lance Taylor <ian@cygnus.com> + + * as.h (strdup): Don't declare. + * stabs.c: Include libiberty.h + (get_stab_string_offset): Use xstrdup rather than strdup. + (s_stab_generic): Likewise. + * as.c (parse_args): Likewise. + * read.c (s_mri_sect): Likewise. + + * gasp.c (change_base): Recognize \(...) construct documented to + pass through enclosed characters literally through to the output. + (process_assigns): Likewise. Also, be more careful to avoid + looking past the end of the buffer. + +Thu Mar 21 13:18:43 1996 Ian Lance Taylor <ian@cygnus.com> + + * config/tc-i386.c (md_parse_option): If OBJ_ELF, ignore -k for + FreeBSD compatibility. From John Polstra <jdp@polstra.com>. + +Wed Mar 20 18:13:32 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> + + * doc/as.texinfo, doc/c-i960.texi: Fix typos. + +Wed Mar 20 17:05:16 1996 David Mosberger-Tang <davidm@azstarnet.com> + + * config/alpha-opcode.h: Added cvtst instruction. + +Mon Mar 18 13:12:46 1996 Ian Lance Taylor <ian@cygnus.com> + + * ecoff.c (ecoff_stab): Don't try to make a symbol out of the stab + string. Extract the addend from the result of expression. + +Fri Mar 15 17:10:43 1996 Ian Lance Taylor <ian@cygnus.com> + + * app.c (do_scrub_chars): If whitespace is seen in state 11, and + LABELS_WITHOUT_COLONS is not defined, and we are not in m68k MRI + mode, change the state to 3 rather than 1. + +Thu Mar 14 18:18:25 1996 Ian Lance Taylor <ian@cygnus.com> + + * config/obj-coff.h (C_REGISTER_SECTION): Change from 20 to 50, to + correspond to 11 March change. + +Thu Mar 14 15:27:10 1996 Jeffrey A Law (law@cygnus.com) + + * config/tc-h8300.c (build_bytes, MEMIND case): Generate + an R_MEM_INDIRECT reloc rather than R_RELBYTE. + +Tue Mar 12 12:21:10 1996 Ian Lance Taylor <ian@cygnus.com> + + * configure: Rebuild with autoconf 2.8. + +Mon Mar 11 18:57:12 1996 Ian Lance Taylor <ian@cygnus.com> + + * config/atof-ieee.c (gen_to_words): Improve handling of + X_PRECISION numbers. Based on patches from Andreas Schwab + <schwab@issan.informatik.uni-dortmund.de>. + +Mon Mar 11 09:59:53 1996 Steve Chamberlain <sac@slash.cygnus.com> + + * as.h (SEG_NORMAL, SEG_LIST): Bump segment limit from 10 to 40. + (SEG_LAST): New. + * subsegs.c (MANY_SEGMENTS): Increase segment limit. + * obj-coff.c (seg_N_TYPE, seg_info_off_by_4): Likewise. + (do_relocs_for, w_symbols, obj_coff_add_segment, do_linenos_for, + crawl_symbols, coff_header_append): Loop to SEG_LAST rather than + SEG_E9. + +Thu Mar 7 15:17:39 1996 Doug Evans <dje@charmed.cygnus.com> + + * config/tc-sparc.c (sparc_ip): Handle operand char 'O' (neg reg). + +Thu Mar 7 09:19:15 1996 Jeffrey A Law (law@cygnus.com) + + * config/tc-hppa.c (SUBSEG_MILLI): Define. + (pa_def_subspaces): Add $MILLICODE$. + (pa_spaces_begin): Set section flags for $MILLICODE$. + +Wed Mar 6 14:11:30 1996 Ian Lance Taylor <ian@cygnus.com> + + * config/obj-elf.c (obj_elf_section): Only SEC_LOAD if the type is + not SHT_NOBITS. Don't tamper with flags based on type if a + special section was found (revert Feb 29 change). + + * config/tc-sh.c (sh_do_align): Only align using the nop pattern + if aligning to a longword boundary or greater. + +Tue Mar 5 15:10:43 1996 Jim Wilson <wilson@chestnut.cygnus.com> + + * config/tc-sh.c (sh_do_align): Pass 1 not 2 to frag_align. + +Mon Mar 4 20:50:57 1996 Steve Chamberlain <sac@slash.cygnus.com> + + * configure.in (i386-*-cygwin32): Don't use bfd_gas. + * configure: Regenerated. + +Mon Mar 4 10:13:06 1996 Jeffrey A Law (law@cygnus.com) + + * config/tc-hppa.c: Add default definitions for R_N0SEL and + R_N1SEL since they're not defined for old versions of hpux. + + * config/tc-hppa.c (tc_gen_reloc): Fix typo in R_COMP2 code. + Set "sym_ptr_ptr" and "addend" fields to dummy values for + R_N0SEL and R_N1SEL. + +Fri Mar 1 10:20:52 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> + + * flonum-konst.c: Add two more constants for 1e+-2048 and + 1e+-4096, and correct the other constants. + + * symbols.c (resolve_symbol_value): Handle O_logical_not. + +Thu Feb 29 13:58:35 1996 Michael Meissner <meissner@tiktok.cygnus.com> + + * config/obj-elf.c (obj_elf_section): Allow predefined section + types to set the nobits type. Avoid a shadowed declaration. + +Wed Feb 28 15:38:56 1996 Jeffrey A Law (law@cygnus.com) + + * config/tc-hppa.c (hppa_fix_adjustable): For SOM, don't + reduce relocs using e_nlrsel field selectors. + + * write.c (fix_new_exp): Don't use #elif. Some compilers + don't handle it. + + * config/tc-hppa.c (selector_table): Add "n", "nl", and "nlr" to + the selector table. + (pa_chk_field_selector): Handle new field selectors for SOM. + +Tue Feb 27 14:42:27 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> + + * configure.in (m68k-*-linux*aout*, m68k-*-linux*): New targets. + * configure: Rebuild. + * config/te-linux.h (LOCAL_LABELS_FB): Define. + * config/tc-m68k.h (TARGET_FORMAT) [TE_LINUX]: Define to + "a.out-m68k-linux". + * config/tc-m68k.c (comment_chars): Don't include '#' if TE_LINUX + is defined. + +Mon Feb 26 18:58:58 1996 Stan Shebs <shebs@andros.cygnus.com> + + * mpw-make.sed: Update to handle shared library support. + +Mon Feb 26 10:34:10 1996 Doug Evans <dje@charmed.cygnus.com> + + * config/tc-sparc.c (sparc_ip): Print all architectures that support + the insn on mismatch. + +Fri Feb 23 21:44:39 1996 Rob Savoye <rob@chinadoll.cygnus.com> + + * configure.in: Add support for a29-coff. + * configure: Rebuild. + +Thu Feb 22 16:39:43 1996 Ian Lance Taylor <ian@cygnus.com> + + * config/tc-sh.c (sh_coff_frob_file): Don't consider the address + of the section when looking for the R_SH_USES fixup, because the + frag addresses have not yet been adjusted. + + * gdbinit.in: Set a breakpoint on as_warn_where. + + * config/tc-mips.c (macro): Add missing arguments to macro_build + omitted in last change. From Jim Wilson <wilson@cygnus.com>. + +Wed Feb 21 17:00:32 1996 Ian Lance Taylor <ian@cygnus.com> + + * config/tc-h8300.c (tc_reloc_mangle): Change reloc based on size + if it is TC_CONS_RELOC. Set a size of 4 to R_RELLONG. + +Wed Feb 21 09:25:39 1996 Doug Evans <dje@charmed.cygnus.com> + + * config/tc-sparc.c (sparc_ip): Recognize %asr0 for v8. + +Tue Feb 20 21:48:03 1996 Doug Evans <dje@charmed.cygnus.com> + + * config/tc-sparc.c (parse_keyword_arg): Accept leading '%'. + (sparc_ip): Accept %asr[1..31] for v8 and %asr[%16..31] for v9. + Recognize [uU] format args as sparclet cpregs. + +Tue Feb 20 22:25:55 1996 Ian Lance Taylor <ian@cygnus.com> + + * config/tc-sh.c (sh_handle_align): Don't emit R_SH_ALIGN relocs + in bss_section. + +Mon Feb 19 14:16:24 1996 Ian Lance Taylor <ian@cygnus.com> + + * config/tc-sparc.h (TC_RELOC_RTSYM_LOC_FIXUP): Check S_IS_WEAK as + well as S_IS_EXTERNAL. + (tc_fix_adjustable): Likewise. + * config/tc-sparc.c (md_apply_fix): In OBJ_ELF case, check for + S_IS_WEAK as well as S_IS_EXTERNAL when deciding whether to return + early. + (tc_gen_reloc): Check S_IS_WEAK as wel as S_IS_EXTERNAL when + deciding whether to convert BFD_RELOC_32_PCREL_S2 if PIC. + +Mon Feb 19 02:15:57 1996 Doug Evans <dje@charmed.cygnus.com> + + * config/tc-sparc.c (max_architecture): Change to sparclite for + 32 bit arch. + (default_compatible): Delete. + (sparc_ffs): New function. + (md_begin): Only call SPARC_OPCODE_CONFLICT_P once. + (sparc_ip): Rewrite architecture match and bump logic. + +Sun Feb 18 15:03:50 1996 Ian Lance Taylor <ian@cygnus.com> + + * configure.in: Check for 'do not mix' from native linker before + trying to use -rpath. + * configure: Rebuild. + +Fri Feb 16 16:53:31 1996 Ian Lance Taylor <ian@cygnus.com> + + * config/obj-coff.h (SF_ADJ_LNNOPTR): Define (non BFD_ASSEMBLER). + (SF_GET_ADJ_LNNOPTR): Define (non BFD_ASSEMBLER). + (SF_SET_ADJ_LNNOPTR): Define (non BFD_ASSEMBLER). + * config/obj-coff.c (obj_coff_endef): Set ADJ_LNNOPTR when LNNOPTR + is set. + (w_symbols): If ADJ_LNNOPTR is set, add the section lnnoptr field + to the symbol lnnoptr field, to get the correct file offset. + +Thu Feb 15 14:48:38 1996 Michael Meissner <meissner@tiktok.cygnus.com> + + * config/obj-elf.c (elf_frob_symbol): On the PowerPC, force all + symbols that are not function, file, or section symbols to be + object types. + +Thu Feb 15 11:20:18 1996 Ian Lance Taylor <ian@cygnus.com> + + * configure: Set and substitute RPATH_ENVVAR. + * configure: Rebuild. + * Makefile.in (RPATH_ENVVAR): New variable. + (check): Use $(RPATH_ENVVAR) rather than LD_LIBRARY_PATH. + + * configure.in: Accept i686. From H.J. Lu <hjl@zoom.com>: i386 + doesn't need opcodes. If configuring shared, opcodes needs bfd. + * configure: Rebuild. + +Wed Feb 14 16:33:12 1996 Martin Anantharaman <martin@mail.imech.uni-duisburg.de> + + * read.c (s_mri_sect): Don't return '\0' in type. Set all + appropriate flags in BFD section. + + * configure.in (m68k-*-psos*): New target. + * configure: Rebuild. + * config/te-psos.h: New file. + * config/tc-m68k.c (comment_chars): Don't include '#' if TE_PSOS + is defined. + +Wed Feb 14 13:43:24 1996 Ian Lance Taylor <ian@cygnus.com> + + From Alan Modra <alan@spri.levels.unisa.edu.au>: + * configure.in: Remove duplicate setting of cpu_type. Check + whether opcodes library is required for on all targets, not just + primary one. + * configure: Rebuild. + + * config/tc-mips.c (mips_big_got): New static variable. + (s_extern): Don't declare. + (reg_needs_delay): New static function. + (macro_build): Permit GOT/CALL_HI/LO relocs. + (macro_build_lui): If place is not NULL, use the number in the + expression. + (load_address): Handle mips_big_got case. + (macro): Handle mips_big_got for M_LA_AB, M_JAL_A, and load and + store macros. + (OPTION_XGOT): Define. + (md_longopts): Add "xgot" if OBJ_ELF. + (md_parse_option): Handle -xgot. + (md_show_usage): Mention -xgot. + (md_apply_fix): Permit GOT/CALL_HI/LO relocs. + (tc_gen_reloc): Handle GOT/CALL_HI/LO relocs. + +Wed Feb 14 11:22:27 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> + + * config/tc-m68k.c (m68k_ip) [operand kind '#']: When fixing + the byte relocation, point it to the low byte of the word. + +Tue Feb 13 15:31:18 1996 Ian Lance Taylor <ian@cygnus.com> + + * configure.in: Set HDLFLAGS for *-*-hpux with --enable-shared. + * configure: Rebuild. + +Mon Feb 12 15:53:46 1996 Doug Evans <dje@charmed.cygnus.com> + + * configure.in: Recognize any sparc* cpu. + * configure: Regenerated. + +Mon Feb 12 15:41:21 1996 Ian Lance Taylor <ian@cygnus.com> + + * read.c (potable): Add "mri" and ".mri". + (s_mri): New function. + * read.h (s_mri): Declare. + * app.c (scrub_m68k_mri): New static variable. + (mri_pseudo): New static variable. + (do_scrub_begin): Add m68k_mri parameter. Use it rather than + flag_m68k_mri. Initialize scrub_m68k_mri. + (mri_state, mri_last_ch): New static variables. + (struct app_save): Add scrub_m68k_mri, mri_state, and mri_last_ch + fields. + (app_push): Save new fields. + (app_pop): Restore new fields. + (do_scrub_chars): Check scrub_m68k_mri rather than flag_mri_mri. + If TC_M68K, use a trivial state machine to look for occurrences of + the .mri pseudo-op, and change the mode appropriately. + * as.h (do_scrub_begin): Update prototype. + * input-scrub.c (input_scrub_begin): Pass flag_m68k_mri to + do_scrub_begin. + * config/tc-m68k.c (reg_prefix_optional_seen): New static + variable. + (m68k_mri_mode_change): New function. + (md_parse_option): Set reg_prefix_optional_seen. + * config/tc-m68k.h (m68k_mri_mode_change): Declare. + (MRI_MODE_CHANGE): Define. + * doc/as.texinfo: Document .mri pseudo-op. + + * app.c (do_scrub_chars): In MRI mode, don't treat '#' as a + comment character. + +Mon Feb 12 15:16:29 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> + + Support for OBJ_ELF on m68k, mostly inside #ifdef OBJ_ELF: + * config/m68k-parse.h (enum pic_relocation): Define. + (struct m68k_exp): Add pic_reloc field. + * config/tc-m68k.h (TC_RELOC_RTSYM_LOC_FIXUP): Define. + (tc_fix_adjustable): Define to call tc_m68k_fix_adjustable. + (NO_RELOC): Define to BFD_RELOC_NONE if BFD_ASSEMBLER, to zero + otherwise. + * config/tc-m68k.c: Delete definition of NO_RELOC. + (struct m68k_it): Add pic_reloc field. + (add_fix): Copy over pic_reloc field. + (md_pseudo_table): Interpret .align parameter as byte count. + (mote_pseudo_table): Likewise. + (tc_m68k_fix_adjustable): New function. + (get_reloc_code): New function. + (md_assemble): Use it as last argument to fix_new_exp. + (md_apply_fix_2): For a relocation against a symbol don't put the + addend into the data. + (tc_gen_reloc): Different addend computation for OBJ_ELF. + (m68k_ip): Don't relax an operand that requires pic relocation. + (md_begin): Align .text, .data and .bss on 4 byte boundary by + default. + * write.c (fixup_segment): Don't add symbol value to addend if + TC_M68K and OBJ_ELF. + * config/m68k-parse.y (yylex): Handle @PLTPC, etc. + (motorola_operand): Add rule for `(zapc, EXPR)'. + +Mon Feb 12 10:07:33 1996 David Mosberger-Tang <davidm@azstarnet.com> + + * ecoff.c (ecoff_directive_weakext): Fixed so that whitespace + *really* is permissible before the comma. + +Mon Feb 12 00:12:13 1996 Ian Lance Taylor <ian@cygnus.com> + + * config/tc-sh.c (sh_do_align): Align to a 2 byte boundary before + inserting nop instructions. + +Fri Feb 9 10:54:19 1996 Ian Lance Taylor <ian@cygnus.com> + + * config/te-aux.h: Change include of aux.h to aux-coff.h. + +Thu Feb 8 20:02:58 1996 Ian Lance Taylor <ian@cygnus.com> + + * config/tc-i960.c (tc_coff_symbol_emit_hook): Correct storage + class setting for a CALLNAME symbol in COFF. + + * read.c (potable): Pass negative numbers for new .balign[wl] and + .p2align[wl] pseudo-ops. + (s_align_bytes): Treat a negative argument as specifying the fill + length. + (s_align_ptwo): Likewise. + +Wed Feb 7 14:12:03 1996 Ian Lance Taylor <ian@cygnus.com> + + * read.c (potable): Add balignw, balignl, p2alignw, and p2alignl. + (do_align): Take new len parameter. Change all callers. Pass it + to md_do_align. + (s_align_bytes): Arg now indicates the length of the fill pattern. + (s_align_ptwo): Likewise. + * config/obj-coff.c (write_object_file): Pass length to + md_do_align. + * config/tc-i386.h (md_do_align): Take new len parameter. + * config/tc-m88k.h (md_do_align): Likewise. + * config/tc-m88k.c (m88k_do_align): Likewise. + * config/tc-sh.h (md_do_align): Likewise. + * config/tc-sh.c (sh_do_align): Likewise. + * doc/as.texinfo: Document new pseudo-ops. + + * config/obj-coff.c (fixup_mdeps): Divide offset by fr_var, as is + done in cvt_frag_to_fill. + + * config/tc-sh.h (sh_do_align): Declare. + (md_do_align): Define. + * config/tc-sh.c (sh_do_align): New function. + + * ecoff.c (ecoff_build_lineno): Don't try to store the address + difference if the next address is before the current one. + + * config/tc-m68k.c (struct m68k_cpu): Add alias field. + (archs): Initialize new field. + (m68k_ip): Don't list alias names when listing CPUs which support + an instruction. + + * as.c (main): Call parse_args before read_begin. + * app.c (do_scrub_chars): If flag_m68k_mri, don't put a dot in + front of generated pseudo-ops. + * read.c (potable): Ignore "name". + (s_app_file): Permit a single quote after the string, since one + may appear in m68k MRI mode. + + * configure.in: Check for --enable-shared. If linking against + shared BFD and opcodes, fix library name on SunOS, and try to set + -rpath reasonably. + * configure: Rebuild. + +Tue Feb 6 15:16:17 1996 Ian Lance Taylor <ian@cygnus.com> + + * as.h (flag_m68k_mri): Declare. + * as.c (parse_args): If TC_M68K, set flag_m68k_mri for -M. + * Many files: For MRI syntax that is specific to the m68k MRI + assembler, check flag_m68k_mri rather than flag_mri or + MRI_MODE_NEEDS_PSEUDO_DOT. + +Mon Feb 5 16:29:11 1996 Ian Lance Taylor <ian@cygnus.com> + + * config/tc-i960.c (ARCH_HX): Define. + (arch_tab): Add HX. + (targ_has_sfr): Handle ARCH_HX. + (targ_has_iclass): Handle ARCH_HX. + (tc_coff_fix2rtype): Add return 0 to avoid warning. + (tc_headers_hook): If the architecture was specified explicitly, + use it when setting the flags. Set the extern variable coff_flags + rather than headers->filehdr.f_flags, since the latter is set + unconditionally in obj-coff.c. + (i960_handle_align): Remove unused variable fixp. + + Support for building bfd and opcodes as shared libraries, based on + patches from Alan Modra <alan@spri.levels.unisa.edu.au>: + * configure.in: Set OPCODES and BFD to search directories. + Substitute OPCODES_DEP and BFDDEP. On SunOS, set HLDFLAGS. + * configure: Rebuild. + * Makefile.in (LDFLAGS, HLDFLAGS): New variables. + (LIBDEPS): New variable. + (as.new0: Depend upon $(LIBDEPS) rather than $(LIBS). Use + $(HLDFLAGS) in link. + (check): Set LD_LIBRARY_PATH in the environment. + +Fri Feb 2 17:41:53 1996 Michael Meissner <meissner@wogglebug.tiac.net> + + * config/tc-ppc.h (ELF_TC_SPECIAL_SECTIONS): Make .sdata2, .sbss2, + .PPC.EMB.sdata0, and .PPC.EMB.sbss0 sections all default to + read-only, not read/write. + +Fri Feb 2 14:09:25 1996 Alan Modra <alan@spri.levels.unisa.edu.au> + + * Makefile.in (INSTALL_XFORM): Remove -e. + +Fri Feb 2 12:32:15 1996 Ian Lance Taylor <ian@cygnus.com> + + * write.c (write_relocs): Use S_IS_DEFINED and S_IS_COMMON rather + than comparing S_GET_SEGMENT to undefined_section. + (write_object_file): Skip symbols which were equated to an + undefined or common symbol. + * symbols.c (resolve_symbol_value): Use S_IS_DEFINED and + S_IS_COMMON rather than comparing S_GET_SEGMENT to + undefined_section. + (S_GET_VALUE): Likewise. Avoid recursion problems if S_IS_DEFINED + or S_IS_COMMON call S_GET_VALUE. + * config/obj-aout.h (S_IS_COMMON): Define if not BFD_ASSEMBLER. + * config/obj-aout.c (obj_emit_relocations): If a reloc is equated + to an undefined or common symbol, convert the reloc to be against + the target symbol. + (obj_crawl_symbol_chain): Skip symbols which were equated to an + undefined or common symbol. + * config/obj-bout.h (S_IS_COMMON): Define if not BFD_ASSEMBLER. + * config/obj-bout.c (obj_emit_relocations): If a reloc is equated + to an undefined or common symbol, convert the reloc to be against + the target symbol. + (obj_crawl_symbol_chain): Skip symbols which were equated to an + undefined or common symbol. + * config/obj-coff.c (do_relocs_for): Use S_IS_DEFINED and + S_IS_COMMON rather than comparing S_GET_SEGMENT to + undefined_section. + (yank_symbols): Skip symbols which were equated to an undefined or + common symbol. + +Thu Feb 1 15:34:32 1996 Ian Lance Taylor <ian@cygnus.com> + + * config/obj-aout.h (S_IS_LOCAL): Check for \002 as well as \001. + * config/obj-bout.h (S_IS_LOCAL): Likewise. + + * configure.in: Make sure we only add m68k-parse.o to + ${extra_objects} once, no matter how many m68k targets have been + enabled. + * configure: Rebuild. + +Wed Jan 31 18:31:46 1996 Steve Chamberlain <sac@slash.cygnus.com> + + * configure.in (i386-*-cygwin32, ppc-*-cygwin32): New. + * configure: Rebuild. + +Wed Jan 31 14:03:17 1996 Richard Henderson <rth@tamu.edu> + + * config/tc-m68k.c (md_pseudo_table): Add "extend" and "ldouble". + * doc/c-m68k.texi: Document .extend and .ldouble. + + * configure.in (m68*-apple-aux*): New target. + * config/te-aux.h: New file. + * config/obj-coff.c (compare_external_relocs): New static function + if TE_AUX. + (do_relocs_for): Sort relocs if TE_AUX. + (fixup_segment): If TE_AUX, store common symbol value in segment. + * config/tc-m68k.h (TARGET_FORMAT): Define if TE_AUX. + +Wed Jan 31 12:24:58 1996 Ian Lance Taylor <ian@cygnus.com> + + * config/obj-coff.h (S_IS_LOCAL): Check for \002 as well as \001. + + * config/tc-mips.c (s_mips_globl): Set BSF_OBJECT if it is not + BSF_FUNCTION. + (s_cpload): Set BSF_OBJECT for _gp_disp symbol. + * read.c (s_lcomm): If S_SET_SIZE is defined, set the size of the + symbol. + * ecoff.c (add_procedure): Set the BSF_FUNCTION flag. + (ecoff_build_symbols): If S_SET_SIZE is defined, set the size of + an undefined symbol and the size of a function symbol. + * config/obj-elf.c (elf_frob_symbol): If TC_MIPS, set BSF_OBJECT + for all common symbols. + +Tue Jan 30 12:35:24 1996 Ken Raeburn <raeburn@cygnus.com> + + * config/tc-i960.c (parse_memop): In MRI mode, don't use implicit + scaling of index. + + * expr.c (operand): Accept 0x hex constants in MRI mode if not on + m68k. + +Mon Jan 29 12:21:30 1996 Ian Lance Taylor <ian@cygnus.com> + + * config/obj-elf.c (obj_elf_type): Set BSF_OBJECT flag for a type + of object. From Ronald F. Guilmette <rfg@monkeys.com>. + + * ecoff.c (localsym_t): Add addend field. + (add_ecoff_symbol): Add addend argument. Change all callers. + (coff_sym_value): Make static. + (coff_sym_addend): New static variable. + (ecoff_directive_def): Initialize coff_sym_addend. + (ecoff_directive_val): Accept symbol + constant. + (ecoff_directive_endef): Pass coff_sym_addend to add_ecoff_symbol. + (ecoff_build_symbols): Include the addend in the symbol value. + +Fri Jan 26 19:28:52 1996 Kim Knuttila <krk@cygnus.com> + + * config/tc-ppc.c (md_assemble): Ignore overflow on + BFD_RELOC_16_GOTOFF and BFD_RELOC_PPC_TOC16. + +Fri Jan 26 16:14:17 1996 Michael Meissner <meissner@tiktok.cygnus.com> + + * config/tc-ppc.c (md_apply_fix3): SDA21 relocations are now 4 + bytes in size, so offset appropriately in big endian mode when + writing the bottom 2 bytes. + +Thu Jan 25 20:26:23 1996 Doug Evans <dje@charmed.cygnus.com> + + * config/tc-sparc.c (default_compatible): New static local. + (md_begin): Initialize it. Rewrite warn_on_bump handling. + (sparc_ip): If no architecture or -bump specified, don't mark as + mismatched those in default_compatible. + +Thu Jan 25 12:21:53 1996 Ian Lance Taylor <ian@cygnus.com> + + SCO ELF support from Robert Lipe <robertl@arnet.com>: + * configure.in (i386-*-sco*elf*): Use fmt elf, targ sco5. + * configure: Rebuild. + * config/sco5.mt: New file; set TDEFINES to -DSCO_ELF. + * config/tc-i386.c (sco_id): New function, if SCO_ELF. + * config/tc-i386.h (tc_init_after_args): Define if SCO_ELF. + (sco_id): Declare if SCO_ELF. + +Thu Jan 25 03:10:53 1996 Doug Evans <dje@charmed.cygnus.com> + + * config/tc-sparc.c (initial_architecture,can_bump_v9_p): Deleted. + ({max,warn_after}_architecture): New static locals. + (md_begin): Replace NUMOPCODES with sparc_num_opcodes. + If both architecture and -bump requested, set max_architecture to max. + (sparc_md_end): Simplify. + (sparc_ip): Replace references to can_bump_v9_p with max_architecture. + Rewrite code to bump architecture and check for conflicts. + (md_longopts): Recognize -xarch={v8plus,v8plusa} for compatibility + with Solaris assembler. + (md_parse_option): Likewise. Call sparc_opcode_lookup_arch. + (md_show_usage): Update. + +Wed Jan 24 22:11:03 1996 Doug Evans <dje@charmed.cygnus.com> + + * Makefile.in (RUNTEST): Fix reference to $${srcdir}. + +Mon Jan 22 09:21:36 1996 Doug Evans <dje@charmed.cygnus.com> + + * config/tc-sparc.h (TARGET_FORMAT): Use #ifdef SPARC_ARCH64 instead of + #ifdef sparcv9 when choosing value. + (ENV64): Delete. + (md_end): Define. + (sparc_md_end): Declare. + * config/tc-sparc.c (SPARC_V9): Renamed from sparcv9. + (initial_architecture): New static local. + (can_bump_v9_p): Likewise. + (NO_V9): Delete all occurrences. + (sparc_md_end): New function. + (sparc_ip): New local v9_arg_p. Rework fp reg number test. + Don't bump architecture to v9 unless can_bump_v9_p set. + (md_parse_option): -A<arch> passed, set can_bump_v9_p accordingly. + * configure.in (sparc64 target cpu): Don't set obj_format here. + (SPARC_V9): Renamed from sparcv9. + (sparc64-*-elf*): Define SPARC_ARCH64. + * configure: Regenerated. + * acconfig.h (SPARC_V9): Renamed from sparcv9. + (SPARC_ARCH64): Add. + * conf.in: Regenerated. + * config/vmsconf.h: Update. + +Mon Jan 22 17:24:47 1996 James G. Smith <jsmith@cygnus.co.uk> + + * config/tc-mips.c (load_register): Optimise "dli" loads. + (md_show_usage): add "-mcpu=vr4100" to help text. + +Mon Jan 22 11:53:00 1996 Ian Lance Taylor <ian@cygnus.com> + + * symbols.c (resolve_symbol_value): If a symbol is equated to an + undefined symbol, preserve the X_op of O_symbol. + (S_GET_VALUE): Fix check to permit this case. + * write.c (write_relocs): If a reloc is against an undefined + symbol equated to another symbol, change the reloc to be against + the latter symbol. + * config/obj-coff.c (do_relocs_for): Likewise. + + * config/tc-ppc.c (ppc_csect): An unnamed csect is storage class + XMC_PR. + +Mon Jan 22 10:59:48 1996 Michael Meissner <meissner@tiktok.cygnus.com> + + * config/obj-elf.c (elf/ppc.h): Include elf/ppc.h if target + computer is PowerPC. + + * config/tc-ppc.c (md_apply_fix3): Add more embedded relocations. + + * config/tc-ppc.h (ELF_TC_SPECIAL_SECTIONS): Add sections + mentioned in the eabi. + +Thu Jan 18 17:58:19 1996 Kim Knuttila <krk@cygnus.com> + + * config/tc-ppc.c (ppc_reldata): Changed alignement on reldata_section + * config/tc-ppc.c (ppc_pdata): Changed the alignment on pdata_section + +Mon Jan 15 17:43:42 1996 Michael Meissner <meissner@tiktok.cygnus.com> + + * config/tc-ppc.c (mapping): Add more relocation suffixes. + +Sun Jan 14 21:29:36 1996 Michael Meissner <meissner@tiktok.cygnus.com> + + * config/tc-ppc.c (ppc_elf_validate_fix): Allow .gcc_except_table + as a section it is ok to have unadorned -mrelocatable pointers in. + +Sat Jan 13 11:09:08 1996 Michael Meissner <meissner@tiktok.cygnus.com> + + * config/tc-ppc.c (ppc_section*): Wrap these functions inside + #ifdef OBJ_ELF. + +Fri Jan 12 15:32:07 1996 Michael Meissner <meissner@tiktok.cygnus.com> + + * config/obj-elf.c (obj_elf_section): Add hooks so machine + dependent section attributes can be handled. + + * config/tc-ppc.h: (md_elf_section_{letter,type,word,flags}): New + macros to add support for exclude section flag and ordered section + type. + + * config/tc-ppc.c (ppc_elf_section_{letter,type,word,flags}): New + functions to add support for exclude section flag and ordered + section type. + +Fri Jan 12 12:04:00 1996 Ian Lance Taylor <ian@cygnus.com> + + * subsegs.c (section_symbol): Don't try to look up the section + symbol in the hash table. It should be possible to have a symbol + with the same name as a section, but no connection to it. + + * read.c (cons_worker): Only call mri_comment_end from flag_mri. + From James Carlson <carlson@xylogics.com>. + + * expr.c (operand): Skip whitespace after a close parenthesis. + From James Carlson <carlson@xylogics.com>. + +Tue Jan 2 12:43:23 1996 Jim Wilson <wilson@chestnut.cygnus.com> + + * config/tc-sh.c (md_apply_fix): Call as_bad_where instead of + as_warn_where for relocation overflow. + (parse_reg): Accept register name only if next character is + not alphanumeric. + +Sat Dec 30 23:42:51 1995 Jeffrey A Law (law@cygnus.com) + + * ecoff.c (ecoff_stab): Simplify. Correctly handle sym + offset + addresses for static variables. + +Thu Dec 21 12:54:32 1995 Michael Meissner <meissner@tiktok.cygnus.com> + + * config/tc-ppc.c (mapping): Make @got give a real GOT relocation, + and xgot give the old toc16 relocation. + (md_apply_fix3): Support all GOT relocations. + +Wed Dec 20 14:57:17 1995 Ian Lance Taylor <ian@cygnus.com> + + * config/tc-mips.c (load_address): Correctly handle a constant in + SVR4_PIC case. From Richard Kenner <kenner@vlsi1.ultra.nyu.edu>. + +Fri Dec 15 14:25:07 1995 J.T. Conklin <jtc@rtl.cygnus.com> + + * config/tc-sh.c (parse_reg): Recognize SH3 registers. + (get_specific): Handle A_SSR, A_SPC and A_REG_B. + (build_Mbytes): Handle REG_B. + +Fri Dec 15 16:07:25 1995 Ian Lance Taylor <ian@cygnus.com> + + * ecoff.c (ecoff_build_aux): Use new bfd_big_endian macro. + +Fri Dec 15 12:11:48 1995 Raymond Jou <rjou@mexican.cygnus.com> + + * mpw-make.sed: If linking, edit ALL_CFLAGS to CFLAGS. + +Thu Dec 14 15:09:52 1995 Ian Lance Taylor <ian@cygnus.com> + + * config/obj-coff.c (write_object_file): Set the s_align field to + the number of bytes, rather than to the power of 2. + +Tue Dec 12 12:19:37 1995 Ian Lance Taylor <ian@cygnus.com> + + * Makefile.in (DISTCLEAN_HERE): New variable. + (distclean): Use it. + (maintainer-clean): Depend upon clean-here rather than clean, + distclean, and clean-info. Run make maintainer-clean in doc. + Remove files listed in DISTCLEAN_HERE. + * doc/Makefile.in (maintainer-clean realclean): Split out from + distclean. Depend upon clean-info and distclean. + +Mon Dec 11 16:23:51 1995 Stan Shebs <shebs@andros.cygnus.com> + + * mac-as.r: Fix copyright and version strings. + (cfrg): Use PROG_NAME instead of literal name. + +Mon Dec 11 14:14:08 1995 Ian Lance Taylor <ian@cygnus.com> + + * read.c (read_a_source_file): If tc_unrecognized_line is defined, + call it. + * config/tc-a29k.h (tc_unrecognized_line): Define. + * config/tc-a29k.c (a29k_unrecognized_line): New function. + (md_operand): Handle a29k style local dollar labels. + +Wed Dec 6 17:52:52 1995 Ian Lance Taylor <ian@cygnus.com> + + * config/obj-multi.h: If OBJ_MAYBE_ELF, define OBJ_SYMFIELD_TYPE. + +Tue Dec 5 13:26:34 1995 Ken Raeburn <raeburn@cygnus.com> + + * read.c (s_fill): If md_flush_pending_output is defined, call + it. + +Mon Dec 4 15:10:53 1995 Ken Raeburn <raeburn@cygnus.com> + + * config/obj-coff.c (size_section, fill_section, fixup_mdeps): + Treat rs_align_code like rs_align. + +Sun Dec 3 16:46:54 1995 Richard Earnshaw (rearnsha@armltd.co.uk) + + * config/tc-arm.c (cp_address_required_here): Set pre_inc when + converting an absolute address into a PC-relative one. + +Fri Dec 1 11:57:56 1995 Stan Shebs <shebs@andros.cygnus.com> + + * mpw-config.in: Don't always use te-generic.h for emulation. + (powerpc-apple-macos): Use emulation te-macos.h. + * mpw-make.sed (install, install-only): Edit in Mac-specific + install procedure. + +Fri Dec 1 10:59:25 1995 Ian Lance Taylor <ian@cygnus.com> + + * configure.in: Improve message about unsupported ELF targets. + * configure: Rebuild. + + * config/tc-m88k.c (m88k_do_align): Correct check for whether fill + pattern is zero. From Manfred Hollstein. + +Thu Nov 30 13:25:49 1995 Kim Knuttila <krk@cygnus.com> + + * config/tc-ppc.c (ppc_pe_section): To get the alignment right for + the various idata sections, we check the name on the .section pseudo. + +Thu Nov 30 11:23:42 1995 Manfred Hollstein KS/EF4A 60/1F/110 #40283 <manfred@lts.sel.alcatel.de> + + * config/obj-coff.c (fixup_segment): If TC_M88K is defined, do not + add section's paddr to add_number; compatibility to native as and + ld forbids. + +Wed Nov 29 23:14:27 1995 Ken Raeburn <raeburn@cygnus.com> + + * configure.in: Treat m68k-sysv4 like m68k-elf, not m68k-sysv3. + + * hash.c (struct hash_entry): Moved here... + * hash.h (struct hash_entry): ...from here. + + * config/obj-elf.c (elf_frob_symbol): Don't free and clear sy_obj + if it's already known to be null. + +Wed Nov 29 13:00:20 1995 Michael Meissner <meissner@tiktok.cygnus.com> + + * config/tc-ppc.c (md_apply_fix3): Don't adjust the value for 32 + bit relocs converted to PC relative relocs. This turned out to + add the offset from the beginning of .text twice. + +Tue Nov 28 10:42:36 1995 Ken Raeburn <raeburn@cygnus.com> + + * stabs.c (s_stab_generic): In 's' case, free string from + obstack. + + * config/obj-elf.h (ELF_TARGET_SYMBOL_FIELDS): Remove unused field + sy_name_offset. + * config/obj-multi.h (ELF_TARGET_SYMBOL_FIELDS) [OBJ_MAYBE_ELF]: + Ditto. + + * subsegs.h (segment_info_type): Make bitfields unsigned. + + * expr.h (struct expressionS): Make X_op and X_unsigned bitfields, + and move them together. On most systems this will reduce the + structure size by one word. + (operatorT): Define O_max. + * expr.c (expr_begin): Verify that X_op is wide enough to hold + O_max. + + * read.c (pop_insert): Print error returned by hash table + insertion code. + + * as.c (dump_statistics): Split out from main; dump some hash + table stats and target-specific stats. + (start_time): No longer automatic to main. + (main): Set file-level start_time and call dump_statistics at + exit. Exit by calling xexit. + (show_usage): Make --statistics description less specific. + * subsegs.c (subsegs_print_statistics): New function. + * write.c (write_print_statistics): New function. + (n_fixups): New static variable. + (fix_new_internal): Increment it. + * read.c (read_print_statistics): New function. + * read.h (read_print_statistics): Declare. + * symbol.c (symbol_print_statistics): New function. + * symbol.h (symbol_print_statistics): Declare. + * hash.c (hash_print_statistics): New function. + * hash.h (hash_print_statistics): Declare. + * config/tc-i386.c (i386_print_statistics): New function. + * config/tc-i386.h (i386_print_statistics): Declare. + (tc_print_statistics): New macro. + * messages.c (as_fatal, as_assert, as_abort): Use xexit, not + exit. + + * hash.c (DELETED): Rewrite to use a valid but unique address. + (START_POWER): Reduce to 10. + (enum stat_enum): New enumerator, replacing STAT_* index macros. + Add new values for counting strcmp calls. + (GROW_FACTOR): New macro. + (hash_grow): Use GROW_FACTOR. Rewrite for quick returns instead + of nesting blocks. + (FULL_VALUE): New macro. Use 1/4 of table size instead of 1/2. + (hash_new): Use FULL_VALUE. + (struct hash_control): Definition moved here. + (hash_code): Don't mask to low bits. + (hash_ask): Mask returned hash code here. Check hash value before + calling strcmp; count strcmp calls. + * hash.h (struct hash_control): Declare, don't define, here. + (HASH_STATLENGTH): Deleted. + (struct hash_entry): Add field for hash code. + (hash_say, hash_apply): Don't declare. + + * hash.c (destroy): Return void. + (applicatee): Ditto. + (main): Fix declarations. + (hash_apply): Return void. Argument `function' returns void. Put + inside "#ifdef TEST". + (hash_say): Define only if TEST is defined. + * hash.h (hash_apply, hash_say): Declarations deleted. + +Mon Nov 27 13:18:25 1995 Ian Lance Taylor <ian@cygnus.com> + + * configure: Rebuild with autoconf 2.7. + +Tue Nov 21 18:39:01 1995 Ian Lance Taylor <ian@cygnus.com> + + * aclocal.m4 (AC_PROG_CC): Remove local definition. + * configure: Rebuild with autoconf 2.6. + +Mon Nov 20 17:26:00 1995 Ian Lance Taylor <ian@cygnus.com> + + * config/tc-ppc.c (ppc_debug_name_section_size): Remove. + (ppc_stabx): Don't increment ppc_debug_name_section_size. + (ppc_bc): Likewise. + (ppc_frob_file): Remove. + * config/tc-ppc.h (tc_frob_file): Don't define. + (ppc_frob_file): Don't declare. + +Mon Nov 20 13:37:05 1995 Ken Raeburn <raeburn@cygnus.com> + + * Makefile.in (TARG_CPU_DEP_alpha): Mention alpha-opcode.h. + * config/alpha-opcode.h: Include one-operand variants of jmp and + jsr. + + * config/te-delt88.h: Renamed from te-delta88.h, to avoid conflict + with te-delta.h in 8.3 file systems. + * configure.in: Adjusted. + +Thu Nov 16 12:49:38 1995 Ian Lance Taylor <ian@cygnus.com> + + * config/tc-mips.c (s_err): Remove; just use the one in read.c. + + * config/m68k-parse.y (yylex): In MRI mode, '@' can start an octal + number. + * expr.c (operand): Handle MRI suffixes after unadorned 0. + +Thu Nov 16 00:21:44 1995 Ken Raeburn <raeburn@cygnus.com> + + Version 2.6 released. + * Makefile.in (VERSION): Updated to 2.6. + + * config/obj-coff.c (write_object_file): Change use of md_do_align + to pass a pointer rather than a fill value, to match other uses. + +Wed Nov 15 03:52:00 1995 Ken Raeburn <raeburn@cygnus.com> + + * config/tc-ns32k.h (TC_FIX_TYPE): Add missing semicolon. + + * as.c (main): Move md_end call to just after call to + perform_an_assembly_pass. Delete cpu-specific code here. + * config/tc-i960.h (md_end): New macro, calls brtab_emit. + * config/tc-arm.c (md_end): Unused function deleted. + * config/tc-ns32k.c (md_end): Ditto. + + * config/tc-i386.c (i386_align_code): New function, moved here + from HANDLE_ALIGN macro. + * config/tc-i386.h (HANDLE_ALIGN): Call it. + + Mon Jul 31 14:53:19 1995 Alan Modra <alan@spri.levels.unisa.edu.au> + + * config/tc-i386.h (md_do_align): cast fill and 0x90 to char + before comparing + + Mon May 1 10:91:49 1995 Alan Modra <alan@spri.levels.unisa.edu.au> + + * config/tc-i386.h (md_do_align): Make ".align n,0x90" generate + multi-byte nops to avoid changing gcc. The necessary gcc change + might break old assemblers. + + Sat Apr 22 20:53:05 1995 Alan Modra <alan@spri.levels.unisa.edu.au> + + * config/tc-i386.h (md_do_align, HANDLE_ALIGN): Add macros to + generate optimal multi-byte nop instructions for ".align n" + ".align n,0x90", and aligns requiring more than 15 bytes of + padding still generate multiple 0x90's as before. + +Mon Nov 13 17:40:21 1995 Ian Lance Taylor <ian@cygnus.com> + + * config/tc-m68k.c (s_mri_until): Call pop_mri_control. + +Mon Nov 13 20:39:06 1995 Stan Shebs <shebs@andros.cygnus.com> + + * configure.in (ppc-*-macos*, ppc-*-mpw*): New configurations. + * configure: Update. + * mpw-make.sed: Reorder commands to make sed happier. + * config/te-macos.h: New file. + * config/tc-ppc.h (TARGET_FORMAT): Set correctly for PowerMac. + +Sun Nov 12 21:14:56 1995 Jeffrey A Law (law@cygnus.com) + + * config/tc-hppa.c (pa_ip): Fix off-by-2 bug in length check for + conditional branches. + (md_apply_fix): Likewise. + +Thu Nov 9 16:14:01 1995 Ian Lance Taylor <ian@cygnus.com> + + * config/tc-a29k.c (md_apply_fix): Warn if an attempt is made to + generate a reloc which the linker will not handle correctly. Fix + overflow checking--R_IREL is 18 bits, not 17. + +Wed Nov 8 19:59:36 1995 Ian Lance Taylor <ian@cygnus.com> + + * config/obj-coff.c (fixup_segment): Don't subtract md_pcrel_from + from a PC relative reloc if TC_A29K. + + * config/tc-a29k.c (line_separator_chars): Restore '@'. Existing + code depends upon it. + + * config/tc-a29k.c (md_operand): Handle $float, $double, and + $extend. Based on code from Eric Freudenthal + <freudenthal@nyu.edu>. + * config/tc-a29k.h (LEX_DOLLAR): Define. + * read.c (LEX_DOLLAR): Define if not defined. + (lex_type): Use LEX_DOLLAR. + +Wed Nov 8 16:38:14 1995 Eric Freudenthal <freudenthal@nyu.edu> + + * configure.in (a29k-nyu-sym1): New target, just like other a29k + targets. + +Wed Nov 8 11:38:48 1995 Ian Lance Taylor <ian@cygnus.com> + + * config/obj-coff.c (c_dot_file_symbol): Cast xmalloc return. + +Tue Nov 7 09:14:35 1995 Kim Knuttila <krk@cygnus.com> + + * config/tc-ppc.c (md_apply_fix3): Added BFD_RELOC_RVA. Currently + used only by "dlltool.c". + +Mon Nov 6 18:51:26 1995 Ian Lance Taylor <ian@cygnus.com> + + * config/tc-alpha.c: Undefine inline if not __GNUC__. + (md_pseudo_table): Don't define "extern". + +Sat Nov 4 00:51:21 1995 Ian Lance Taylor <ian@cygnus.com> + + * config/tc-ppc.c (ppc_biei): Force symbol into text_section. + + * config/tc-ppc.c (md_show_usage): Put backslash at end of line. + +Fri Nov 3 13:02:59 1995 Ian Lance Taylor <ian@cygnus.com> + + * macro.c (macro_expand_body): Don't warn about == with a + nonexistent parameter, in case it is in a comment field. + + * as.c (main): On TC_A29K, call macro_init with macro_alternate + set to 1. + * macro.c (get_any_string): Don't keep quotes if macro_strip_at is + set, even if macro_alternate is set. + (get_apost_token): If macro_strip_at, only skip kind if it is '@'. + (sub_actual): If macro_strip_at, and kind is '@', don't look up + the token unless it ended in '@'. + * config/tc-a29k.c (line_separator_chars): Remove '@'. + * doc/c-a29k.texi: Document macro usage on A29K. + +Thu Nov 2 23:07:57 1995 Ian Lance Taylor <ian@cygnus.com> + + * config/tc-m68k.c (m68k_ip): Handle new 'W' place, meaning a + signed word. + (install_operand): Likewise. + + * config/obj-elf.c (ecoff_debug_pseudo_table): Add "extern". + +Wed Nov 1 15:17:02 1995 Manfred Hollstein KS/EF4A 60/1F/110 #40283 <manfred@lts.sel.alcatel.de> + + * configure.in (m88k-motorola-sysv*): New target. + * configure: Rebuild. + * config/te-delta88.h: New file. + * config/obj-coff.c (write_object_file): Use md_do_align if it is + defined. + * config/tc-m88k.h (SUB_SEGMENT_ALIGN): Define. + (md_do_align): Define. + * config/tc-m88k.c: Include "subsegs.h". + (m88k_do_align): New function. + + * config/te-delta.h (STRIP_UNDERSCORE): Don't define. + (COFF_NOLOAD_PROBLEM): Define. + (LOCAL_LABELS_DOLLAR, LOCAL_LABELS_FB): Define. + +Wed Nov 1 16:07:43 1995 Ken Raeburn <raeburn@cygnus.com> + + * config/tc-i386.c (md_assemble): For a jump instruction with + non-constant target, require 7 available bytes in the current + frag, not 6. + +Tue Oct 31 15:37:16 1995 Fred Fish <fnf@rtl.cygnus.com> + + * config/obj-elf.h: Include bfd/elf-bfd.h rather than + bfd/libelf.h. + +Tue Oct 31 16:34:28 1995 David Mosberger-Tang <davidm@azstarnet.com> + + * configure.in (alpha-*-linux*): Use ecoff. + * configure: Rebuild. + * ecoff.c (ecoff_directive_extern): New function. + (ecoff_directive_weakext): New function. + (ecoff_build_symbols): Handle weak symbols. + (ecoff_setup_ext): Likewise. + (ecoff_frob_symbol): Warn about weak common symbols. + * ecoff.h (ecoff_directive_extern): Declare. + (ecoff_directive_weakext): Declare. + * symbols.c (S_IS_WEAK): New function. + * symbols.h (S_IS_WEAK): Declare. + * config/obj-ecoff.c (obj_pseudo_table): Add "extern" and + "weakext". + * config/tc-mips.c (mips_pseudo_table): Remove "extern". + (s_extern): Remove. + +Tue Oct 31 13:29:08 1995 Ian Lance Taylor <ian@cygnus.com> + + * config/tc-ppc.c (ppc_lglobl): Do the right thing. + + * config/tc-ppc.c (ppc_bb): Call SF_SET_PROCESS. + (ppc_eb): Likewise. Set the storage class to C_BLOCK, not C_FCN. + (ppc_frob_symbol): Don't change C_BLOCK symbols to C_HIDEXT. + * config/obj-coff.c (coff_frob_symbol): Don't call + SA_SET_SYM_ENDNDX with the current symbol; call it with the next + one. If OBJ_XCOFF, try to figure out whether the symbol is going + to be dropped. + + * config/tc-ppc.c (md_pseudo_table): Add "bc" and "ec". + (ppc_stab_symbol): New static variable. + (ppc_change_csect): Check that ppc_toc_csect is not NULL. + (ppc_stabx): Set ppc_stab_symbol around call to symbol_make. Set + sy_tc.real_name to the stab string. + (ppc_bc, ppc_ec): New static functions. + (ppc_canonicalize_symbol_name): If ppc_stab_symbol is set, don't + do anything. + (ppc_symbol_new_hook): If ppc_stab_symbol is set, don't look for a + suffix. + (ppc_frob_symbol): Set BSF_NOT_AT_END for symbols with csect aux + entries. + + * input-scrub.c (input_scrub_push): Reset sb_index. + +Mon Oct 30 17:52:46 1995 Ian Lance Taylor <ian@cygnus.com> + + * listing.c (listing_newline): Don't create a frag in the absolute + section. + +Sat Oct 28 01:02:05 1995 Ian Lance Taylor <ian@cygnus.com> + + * config/tc-ppc.c (md_pseudo_table): Add "data" and "text". + (ppc_csect): Move most of the code to ppc_change_csect, and call + it. + (ppc_change_csect): New static function, taken from ppc_csect. + (ppc_section): New static function. + (ppc_saw_abs): New static varable. + (ppc_frob_symbol): Create aux entry for absolute symbols. Warn if + a symbol has no csect. + (ppc_adjust_symtab): New function. + * config/tc-ppc.h (tc_adjust_symtab): Define if OBJ_XCOFF. + (ppc_adjust_symtab): Declare if OBJ_XCOFF. + + * write.c (write_object_file): If tc_adjust_symtab is defined, + call it just before the call to obj_adjust_symtab. + + * symbols.c (symbol_find_or_make): Change name to be const. + * symbols.h (symbol_find_or_make): Update declaration. + +Thu Oct 26 19:18:27 1995 Ken Raeburn <raeburn@cygnus.com> + + * doc/as.texinfo (Align): Mention SH. + * doc/c-m68k.texi (M68K-Directives, .even): Describe behavior, not + .align value. + * doc/c-z8k.texi (Z8000 Directives, global): Fix minor typo. + (Z8000 Directives, even): Don't give numeric align value, instead + explain behavior. + +Thu Oct 26 11:45:03 1995 Richard Earnshaw (rearnsha@armltd.co.uk) + + * tc-arm.c (do_ldst): Assemble ldr/str r0, [r1] as a pre-increment + instruction. + +Wed Oct 25 11:59:24 1995 Per Bothner <bothner@kalessin.cygnus.com> + + * Makefile.in (diststuff): Also make info. + (maintainer-clean realclean): Also make clean-info. + +Tue Oct 24 15:21:33 1995 Jeffrey A Law (law@cygnus.com) + + * config/tc-hppa.c (md_pseudo_table): Add new ".nsubspa" opcode. + (pa_subspace): For ".nsubspa", always create a new subspace + with the given attributes, even if one already exists with the + same name. + +Tue Oct 24 14:50:38 1995 Michael Meissner <meissner@tiktok.cygnus.com> + + * config/tc-ppc.h (TC_FORCE_RELOCATION_SECTION): Rename from + TC_FORCE_RELOCATION, taking an additional section argument. If + the section of the target symbol is not the same as the current + section, always force the relocation to be used. + (MD_PCREL_FROM_SECTION): New macro to call md_pcrel_from_section. + + * config/tc-ppc.c (md_pcrel_from_section): Rename from the + md_pcrel_from function, taking an additional section argument. + Invoke TC_FORCE_RELOCATION_SECTION instead of TC_FORCE_RELOCATION. + + * write.c (TC_FORCE_RELOCATION_SECTION): Define in terms of the + older TC_FORCE_RELOCATION if not defined. + (MD_PCREL_FROM_SECTION): If not defined, invoke md_pcrel_from. + (fixup_segment): Use MD_PCREL_FROM_SECTION instead of + md_pcrel_from, and TC_FORCE_RELOCATION_SECTION instead of + TC_FORCE_RELOCATION. + +Mon Oct 23 16:20:04 1995 Ken Raeburn <raeburn@cygnus.com> + + * input-scrub.c (as_where): Set name to null pointer if we don't + have a file name. + * messages.c (identify): Only print filename if non-null. + (as_show_where): Ditto, for line number too. + (as_warn_internal, as_bad_internal): Ditto. + + * input-file.c (input_file_open): If the input file can't be + opened, consider it an error. + +Mon Oct 23 11:15:44 1995 James G. Smith <jsmith@pasanda.cygnus.co.uk> + + * config/tc-mips.c: Added mips_4100 control, and support for + accepting the 4100 as a MIPS architecture variant (md_begin, + macro_build, mips_ip, md_parse_option). Adding suitable + command-line OPTIONs, and updating the help text (md_show_usage). + +Wed Oct 18 13:20:32 1995 Ken Raeburn <raeburn@cygnus.com> + + * subsegs.c (subseg_begin): Only set absolute_frchain.fix_* when + BFD_ASSEMBLER is defined. + + * Use one active frag and one obstack per frag chain: + * frags.c (frags): Variable deleted. + (frag_alloc): New function. + (frag_grow, frag_more, frag_variant, frag_now_fix, + frag_append_1_char): Refer to frchain_now->frch_obstack instead of + frags variable. + (frag_new): Ditto. Verify that frch_last and frag_now match on + entry and exit, and that old frag_now has non-zero type. Replace + "know" uses with "assert". Use frag_alloc instead of mucking with + obstack alignment. + * frags.h (frags): Declaration deleted. + * subsegs.h (struct frchain): Add new field frch_frag_now. + * subsegs.c (frchains, dummy_frag, absolute_frchain): New static + variables. + (subsegs_begin): Initialize frchains obstack. Under gcc, don't + give it any stricter alignment than frchainS structures need. Do + not initialize frags obstack. Set frag_now to point to + dummy_obstack. Initialize absolute_frchain. + (subseg_set_rest): Save and restore frag_now in frch_frag_now + field of frchainS. Don't create new frags on section switch, and + use frag_alloc when creating a new frag chain. For absolute + section, set frchain_now to absolute_frchain. Verify that + frch_last and frag_now match on entry and exit. Initialize + per-chain obstack, and under gcc, set required alignment to that + needed by fragS structure. + + * write.c (chain_frchains_together_1): Verify fr_type is nonzero. + + * stabs.c (get_stab_string_offset): Only copy input string if a + fresh copy is needed, not if the section already exists. + (s_stab_generic): Cache stab section name to bypass lookups, since + usually it will match. Could be made faster still by changing the + memory allocation rules. + (s_xstab): Cache section name to bypass repeated string + allocation. + + * frags.c (frag_new): Deleted register declarations. + + * listing.c (frag_now): Don't declare. + + * as.c (chunksize): New variable. + (debug_memory): New variable. + (main): If debug_memory is set, reduce chunksize and + _bfd_chunksize. + * as.h (chunksize): Declare it. + * read.c (read_begin): Use it. + + * config/tc-alpha.c (md_shortopts): Include 'g'. + (md_parse_option): Ignore it. + + * Makefile.in (distclean): Remove Makefile and config.status from + testsuite directory. + (clean-here): Don't delete testsuite. Instead, delete only the + files within it that would be generated by running tests. + + * config/tc-hppa.c (hppa_elf_mark_end_of_function): Call + frag_now_fix instead of accessing obstack info directly. + * config/tc-arm.c (s_ltorg): Ditto. + (md_assemble): Ditto. + + * config/tc-i386.c (md_assemble): Call frag_grow instead of + obstack_room. + +Wed Oct 18 12:22:59 1995 Ken Raeburn <raeburn@cygnus.com> + + * stabs.c (aout_process_stab): Insert debug symbol into symbol + chain after parsing value expression, if any, to avoid separating + continued .stabs lines. + +Mon Oct 16 10:56:41 1995 Ian Lance Taylor <ian@cygnus.com> + + * config/tc-mips.c (mips_elf_pseudo_table): Remove. + (mips_pop_insert): Don't call pop_insert on mips_elf_pseudo_table. + +Mon Oct 16 07:07:37 1995 Michael Meissner <meissner@wogglebug.tiac.net> + + * config/tc-ppc.c (md_begin): Use new flags PPC_OPCODE_COMMON for + -mcom support and PPC_OPCODE_ANY for -many. + (md_parse_option): Ditto. + (ppc_arch): Ditto. + (md_begin): For duplicate instructions, print all duplicates + before aborting. + +Sun Oct 15 22:06:14 1995 Michael Meissner <meissner@cygnus.com> + + * config/tc-ppc.c (md_parse_option): Support for -mcom to turn on + common mode operation. + (md_show_usage): Add -mcom to usage message. + +Fri Oct 13 13:32:45 1995 steve chamberlain <sac@slash.cygnus.com> + + * expr.c (op_rank): Add O_symbol_rva. + * expr.h (operatorT): Add O_symbol_rva. + * read.c (cons_worker): Set O_symbol_rva when necessary. + * write.c (fix_new_exp): Understand O_symbol_rva. + +Tue Oct 10 11:34:14 1995 Ian Lance Taylor <ian@cygnus.com> + + * config/tc-mips.c: Correct s_cons arguments. From Michael + Joosten <joost@ori.cadlab.de>. + +Mon Oct 9 19:59:53 1995 Ian Lance Taylor <ian@cygnus.com> + + * config/tc-ppc.c (ppc_macro): Make count unsigned. + (ppc_biei): Set segment to now_seg and value to coff_n_line_nos. + (ppc_frob_symbol): Handle C_BINCL and C_EINCL symbols by setting + the fix_line field. + * config/obj-coff.c (coff_n_line_nos): Rename from n_line_nos, and + make non-static. Change all users. + * config/obj-coff.h (coff_n_line_nos): Declare. + +Fri Oct 6 16:24:27 1995 Ken Raeburn <raeburn@cygnus.com> + + Mon Sep 25 22:49:32 1995 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> + + * configure.in (AC_ARG_WITH(bfd-assembler)): Fix help message. + + * config/obj-elf.c (obj_elf_common): Convert specified byte + alignment to power of two. Set size of local bss symbol. + + * config/tc-m68k.c (tc_gen_reloc): Fix typo in variable name. + +Fri Oct 6 15:22:25 1995 Ian Lance Taylor <ian@cygnus.com> + + * sb.c, macro.c: Decide whether to include <string.h> or + <strings.h> just as as.h does. + +Fri Oct 6 09:55:33 1995 Doug Evans <dje@canuck.cygnus.com> + + * Makefile.in (site.exp): Fix setting of $srcdir. + + * config/tc-arm.c (md_atof): Fix little-endian output. + * config/tc-arm.h (ARM_BI_ENDIAN): Move definition so defined for + all coff targets. + +Thu Oct 5 20:17:30 1995 Ken Raeburn <raeburn@cygnus.com> + + * doc/as.texinfo: Split out the NS32k family documentation, + despite its being commented out for now. + * doc/c-ns32k.texi: New file. + + * sb.c, macro.c: Include string.h. + + * Makefile.in (comparison): Only check *.o; we don't care if + timestamps inserted by the native linker differ. + + * config/tc-alpha.c (alpha_align): Only fill with a no-op pattern + if alignment stricter than 4 bytes is requested; in that case, + align to a 4-byte boundary first. + + Thu Sep 28 19:35:27 1995 Pat Rankin <rankin@eql.caltech.edu> + + * config/obj-vms.c (VMS_RSYM_Parse): eliminate "might be used + uninitialized" warning for `Max_Source_Offset'. + +Wed Oct 4 16:17:02 1995 Kim Knuttila <krk@cygnus.com> + + * config/tc-ppc.c (parse_toc_entry): New function to parse [toc] + qualifiers and detect errors if present. + (md_assemble): Add call to parse_toc_entry. Also added some support + for the [tocv] qualifier. + (ppc_pe_tocd): New function to support data in the toc section. + +Wed Oct 4 14:03:39 1995 Ian Lance Taylor <ian@cygnus.com> + + * config/tc-ppc.c (ppc_frob_symbol): Don't create an aux entry for + an absolute symbol. + +Tue Oct 3 12:18:19 1995 Ian Lance Taylor <ian@cygnus.com> + + * config/tc-m68k.c (isword): Accept all values from -65536 to + +65535, so ~VAL will not be rejected. + + * cond.c (s_endif): Call demand_empty_rest_of_line. In MRI mode, + skip characters after the pseudo-op. + (s_else): Likewise. + * read.c (get_line_sb): Don't look past buffer_limit. + (s_include): In MRI mode, skip characters after the file name. + +Mon Oct 2 16:15:27 1995 Ian Lance Taylor <ian@cygnus.com> + + * config/m68k-parse.y (m68k_reg_parse): In MRI mode, permit + periods in register names. + +For older changes see ChangeLog.1. |