+2001-04-13 Jakub Jelinek <jakub@redhat.com>
+
+ * config/obj-elf.c (obj_elf_change_section): Add entsize argument,
+ handle SHF_MERGE and SHF_STRINGS.
+ (obj_elf_parse_section_letters): Set SHF_MERGE and SHF_STRINGS.
+ (obj_elf_section): Allow additional argument specifying entity size.
+ * write.c (adjust_reloc_syms): Keep relocations against local symbols
+ in SEC_MERGE sections.
+
+2001-04-12 Jason Merrill <jason_merrill@redhat.com>
+
+ * dwarf2dbg.c (process_entries): Don't optimize redundant line notes.
+
+2001-04-12 Alexandre Oliva <aoliva@redhat.com>
+
+ * expr.c (operand): Pass &c to md_parse_name().
+ * config/tc-ia64.h, config/tc-ppc.h, config/tc-tic54x.h: Adjust.
+
+2001-04-07 Steven J. Hill <sjhill@cotw.com>
+
+ * config/tc-mips.c: Support ELF64 for traditional MIPS targets.
+
+ * Makefile.am: (TARG_ENV_HFILES): Add tc-mips.h.
+ * Makefile.in: Regenerated.
+
+ * configure.in: Use traditional MIPS targets for Linux/MIPS.
+ * configure: Regenerated.
+
+2001-04-06 Alexandre Oliva <aoliva@redhat.com>
+
+ * config/tc-mn10300.c (xr_registers): Added `pc'.
+
+2001-04-05 Alan Modra <alan@linuxcare.com.au>
+
+ * configure.in: Add h8500-*-coff and h8500-*-rtems targets.
+ * configure: Regenerate.
+
+ * config/tc-h8500.c (md_estimate_size_before_relax): Add missing
+ cases, and always return size based on current fr_subtype.
+ (md_begin): Move initialization of md_relax_table..
+ (md_relax_table): ..to static initializer. Set rlx_length for
+ UNDEF_WORD_DISP cases.
+ * config/tc-w65.c (md_estimate_size_before_relax): Likewise.
+ (md_begin): Likewise.
+ (md_relax_table): Likewise.
+ * config/tc-mcore.c (md_estimate_size_before_relax): Likewise.
+ (md_relax_table): Set rlx_length for UNDEF_WORD_DISP cases.
+ Set rlx_backward and rlx_forward to zero for unused states.
+ * config/tc-sh.c (md_estimate_size_before_relax): Likewise.
+ (md_relax_table): Set rlx_length for UNDEF_WORD_DISP cases.
+ (UNCOND12, UNCOND32): Remove duplicate defines.
+
+2001-04-04 Hans-Peter Nilsson <hp@axis.com>
+
+ * config/tc-cris.c (md_estimate_size_before_relax) <case
+ ENCODE_RELAX (STATE_CONDITIONAL_BRANCH, STATE_UNDF)>: Don't emit
+ 32-bit branch, just set fragP->fr_subtype. Set fragP->fr_var.
+ <all cases>: Always set fragP->fr_var using md_cris_relax_table.
+ Add cases to cover all relax states.
+ (cris_insn_first_word_frag): New.
+ (md_assemble): Call cris_insn_first_word_frag to get the first
+ frag in an insn, not frag_more. Don't call dwarf2_emit_insn at
+ end. Drop variable insn_size.
+ (gen_bdap): Call cris_insn_first_word_frag, not frag_more.
+ (cris_sym_leading_underscore): Wrap first as_bad parameter in _().
+ (cris_sym_no_leading_underscore, s_cris_file, s_cris_loc): Ditto.
+
+ * write.c (write_object_file): Reset broken word state before
+ calling relax_seg.
+
+2001-03-31 Alan Modra <alan@linuxcare.com.au>
+
+ * listing.c (listing_listing): Enable listing on EDICT_NOLIST_NEXT
+ for one line if not already enabled.
+ * cond.c (s_elseif): Correct conditional assembly listing.
+ (s_else): Likewise.
+
+ * cond.c (s_endif): Correct handling of "if .. elseif .." trees.
+ Don't abort on NULL current_cframe.
+
+2001-03-30 Alan Modra <alan@linuxcare.com.au>
+
+ * dwarf2dbg.c (dwarf2_directive_file): Fix warnings.
+ (dwarf2dbg_convert_frag): Pass `finalize_syms' to resolve_symbol_value.
+ * config/obj-aout.c (obj_crawl_symbol_chain): Likewise.
+ * config/obj-bout.c (obj_crawl_symbol_chain): Likewise.
+ * config/obj-coff.c (do_relocs_for): Likewise.
+ (yank_symbols): Likewise.
+ (fixup_segment): Likewise.
+ * config/tc-ppc.c (ppc_frob_symbol): Likewise.
+ (ppc_fix_adjustable): Likewise.
+ * config/tc-mips.c (md_convert_frag): Likewise.
+ * config/obj-vms.c (obj_crawl_symbol_chain): Likewise.
+ * ehopt.c (eh_frame_convert_frag): Likewise.
+ * expr.c (make_expr_symbol): Likewise.
+
+ * frags.h (struct frag): Add last_fr_address. Reorder fields for
+ better packing.
+ * symbols.c (resolve_symbol_value): Don't fix expression values
+ until relaxation is complete.
+ (resolve_local_symbol): Pass `finalize_syms' to resolve_symbol_value.
+ (S_GET_VALUE): Likewise, and return unresolved expression value.
+ * write.c (finalize_syms): New.
+ (relax_and_size_seg): Split into..
+ (relax_seg): New function, returns 1 if anything changed..
+ (size_seg): And the remainder of relax_and_size_seg.
+ (fixup_segment): Arrange for final resolution of sym values.
+ (adjust_reloc_syms): Likewise.
+ (write_object_file): Likewise, and repeatedly call relax_seg until
+ nothing more changes.
+ (relax_segment): Return 1 if anything changed. Use correct types
+ for rs_org `target' and `after'.
+ * write.h (finalize_syms): Declare.
+ (relax_segment): Update prototype.
+
+ * config/tc-sh.c (md_estimate_size_before_relax): Add extra
+ do-nothing cases to switch to avoid abort on a second relaxation
+ pass, and tidy code a little.
+ * config/tc-cris.c (md_estimate_size_before_relax): Likewise.
+ * config/tc-h8500.c (md_estimate_size_before_relax): Likewise.
+ * config/tc-w65.c (md_estimate_size_before_relax): Likewise.
+ * config/tc-i386.c (UNCOND_JUMP, COND_JUMP, COND_JUMP86): Decrement.
+ (md_relax_table): Remove first four unused entries. Increment
+ rlx_length by one throughout table, and update comments to suit.
+ (md_estimate_size_before_relax): Return size of current variable
+ part of frag to reflect reality when relaxing more than once.
+ * config/tc-mcore.c (COND12, UNCD12): Rename to DISP12 throughout.
+ (COND32, UNCD32): Rename to DISP32 throughout.
+ (UNDEF_WORD_DISP): Renumber to 3.
+ (md_estimate_size_before_relax): Add extra do-nothing cases.
+ * config/tc-mn10200.c (md_estimate_size_before_relax): Rewrite.
+ * config/tc-mn10300.c (md_estimate_size_before_relax): Rewrite.
+ * config/tc-ns32k.c (md_estimate_size_before_relax): Add cases to
+ handle word and dword branches.
+
+2001-03-29 Hans-Peter Nilsson <hp@axis.com>
+
+ * config/tc-cris.h (tc_fix_adjustable): Allow only
+ BFD_RELOC_CRIS_32_GOTREL of the PIC relocs.
+ * config/tc-cris.c (cris_get_pic_suffix): Correct reloc type in
+ example in comment to valid type.
+
+2001-03-28 H.J. Lu <hjl@gnu.org>
+
+ * read.c (equals): Set to local for COFF only if it hasn't been
+ defined before.
+
+2001-03-28 Alan Modra <alan@linuxcare.com.au>
+
+ * config/tc-hppa.c (DEFAULT_LEVEL): Define.
+ (md_begin): Use it when setting default architecture.
+
+2001-03-27 Nick Papadonis <nick@coelacanth.com>
+
+ * read.c (equals): (for COFF) default symbols to being local.
+
+2001-03-27 Hans-Peter Nilsson <hp@axis.com>
+
+ * configure.in (cris-*-*): Change default emulation to criself.
+ (cris-*-*aout*): New rule.
+ * configure: Regenerate.
+
+2001-03-26 Martin Schwidefsky <schwidefsky@de.ibm.com>
+
+ * config/tc-s390.c (tc_s390_fix_adjustable): Add test for
+ BFD_RELOC_390_GOTENT.
+ * config/tc-s390.h (TC_RELOC_RTSYM_LOC_FIXUP): Add test for
+ BFD_RELOC_390_GOTENT.
+
+2001-03-26 Nick Clifton <nickc@redhat.com>
+
+ * config/tc-s390.h (TC_FORCE_RELOCATION): Define.
+ * config/tc-s390.c (s390_force_relocation): New function: Force
+ relocations for VTINHERIT relocs.
+
+2001-03-23 Stephane Carrez <Stephane.Carrez@worldnet.fr>
+
+ * doc/as.texinfo: Put @c man begin to generate the as man page.
+ When generating man, define all the variables. Re-organize some
+ options to obtain better indentation of man page.
+ * doc/Makefile.am (MANCONF, TEXI2POD, POD2MAN): New variable.
+ (as.1): Build from as.texinfo.
+ * doc/Makefile.in: Regenerate.Index: binutils/Makefile.am
+
+2001-03-25 Alan Modra <alan@linuxcare.com.au>
+
+ * config/tc-i386.c (i386_scale): Accept an absolute expression for
+ scale factor, and return the end of the expression.
+ (i386_operand): Modify for above.
+
+2001-03-23 Nick Clifton <nickc@redhat.com>
+
+ * doc/as.texinfo: Document --listing-XXX command line switches.
+ Explain why listings behave differently when -pipe is used.
+
+2001-03-23 Richard Sandiford <rsandifo@redhat.com>
+
+ * write.c (fix_new_exp): Print an error if passed a register.
+
+2001-03-23 Hans-Peter Nilsson <hp@axis.com>
+
+ * config/tc-cris.c: Tweak attribution. Fix typos. PIC support.
+ (PIC_SUFFIX_CHAR): New macro.
+ (cris_get_pic_suffix, cris_get_pic_reloc_size): New functions.
+ (pic): New variable.
+ (md_longopts): New option --pic.
+ (OPTION_PIC): Define.
+ (md_estimate_size_before_relax): Tweak longish comment.
+ (md_create_long_jump): Make the long jumps generate ADD.D offset,PC.
+ (md_assemble): Handle a PIC relocation on prefix and normal
+ instruction operands.
+ <output_instruction.insn_type == CRIS_INSN_BRANCH>: Handle
+ "complex" operand expressions. Call frag_more outside
+ gen_cond_branch_32 parameter list.
+ (cris_process_instruction): Handle PIC relocs on parsed
+ operand expressions. Validize PIC reloc sizes.
+ (get_autoinc_prefix_or_indir_op): Handle PIC suffix.
+ (gen_bdap): Handle "complex" operand expressions.
+ (gen_cond_branch_32): Use as_warn_where, not as_warn. Use
+ ADD.D offset,PC as jump instruction if generating PIC. Generate
+ error instead of crashing on complex expressions.
+ (cris_number_to_imm): Add segT parameter. All callers changed.
+ Use segT parameter, not now_seg, for segment of fixup. Handle
+ PCREL relocations but check that they are fully resolved.
+ (md_parse_option): Handle OPTION_PIC.
+ (tc_gen_reloc): Handle PIC relocs.
+ (md_show_usage): Update for --pic.
+ (md_apply_fix3): Renamed from md_apply_fix.
+ (md_pcrel_from): Accept emitting PCREL relocs when ELF.
+ (md_cris_force_relocation): Force relocation for PIC relocs.
+
+ * config/tc-cris.h: Tweak attribution.
+ (MD_APPLY_FIX3): Define.
+ (IS_CRIS_PIC_RELOC): New macro.
+ (TC_RELOC_RTSYM_LOC_FIXUP): Define.
+ (tc_fix_adjustable): Don't adjust a globally visible symbol when
+ generating ELF.
+ (tc_frob_symbol): Avoid emitting undefined symbols.
+
+2001-03-20 Alan Modra <alan@linuxcare.com.au>
+
+ * frags.h (struct frag): Add relax_marker.
+ * write.c (is_dnrange): Delete.
+ (relax_frag): Use correct types for `aim', `target', `address'.
+ Delete `offset', `was_address'. Test `relax_marker' instead of
+ using fragile (and slow) address test.
+ (relax_segment): Init and flip `relax_marker'.
+
+2001-03-19 Alan Modra <alan@linuxcare.com.au>
+
+ * config/tc-i386.c (md_assemble <REGISTER_WARNINGS>): Correct
+ used register name.
+
+2001-03-18 Stephane Carrez <Stephane.Carrez@worldnet.fr>
+
+ * config/tc-m68hc11.c (md_pseudo_table): Recognize xrefb to comply
+ with 'Motorola specification for assembly language input standard'.
+
+2001-03-17 Richard Henderson <rth@redhat.com>
+
+ * dwarf2dbg.c (user_filenum, user_filenum_allocated): Remove.
+ (dwarf2_directive_loc): Don't use them.
+ (dwarf2_directive_file): Reject duplicate file definitions.
+ (get_filenum): Zero allocated memory.
+ (out_file_list): Complain about missing file definitions.
+
+2001-03-17 Alan Modra <alan@linuxcare.com.au>
+
+ * read.c (do_org): Handle complex expressions.
+ * cgen.c (gas_cgen_finish_insn): Likewise.
+
+2001-03-15 David Mosberger <davidm@hpl.hp.com>
+
+ * config/tc-ia64.c (md): New member keep_pending_output.
+ (ia64_flush_pending_output): Flush only if md.keep_pending_output
+ is not set.
+ (dot_xdata): Turn on md.keep_pending_output for the duration of
+ this function.
+ (dot_xfloat_cons): Ditto.
+ (dot_xstringer): Ditto.
+ (dot_xdata_ua): Ditto.
+ (dot_xfloat_cons_ua): Ditto.
+
+2001-03-15 Jim Wilson <wilson@redhat.com>
+
+ * config/tc-ia64.c (ia64_unrecognized_line, case '['): Add local
+ label support.
+
2001-03-15 Alexandre Oliva <aoliva@redhat.com>
* config/tc-sh.c (parse_reg): Match capital MACH and MACL.