* config/tc-cris.c (cris_insn_first_word_frag): New.
[deliverable/binutils-gdb.git] / gas / ChangeLog
index 9b9ab32275b534efe4fba58fab4dfb297db509dc..fdae672c9099d98895bcb06d9b4c275abfe4596d 100644 (file)
+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.
+
+2001-03-15  DJ Delorie  <dj@redhat.com>
+
+       * stabs.c (s_stab_generic): Don't corrupt the notes obstack by
+       blindly freeing string if it isn't at the top of the obstack.
+
+2001-03-13  Alan Modra  <alan@linuxcare.com.au>
+
+       * config/tc-i386.c (RELOC_ENUM): Define.  Use throughout file.
+       (NUM_FLAG_CODE): Define.
+       (lex_got): New function.
+       (got_reloc): New global var.
+       (x86_cons_fix_new): New function.
+       (x86_cons): New function.
+       (i386_immediate): Use lex_got here, replacing inline code.  Change
+       "ignoring junk.." error message to "junk.."
+       (i386_displacement): Likewise.
+       * config/tc-i386.h (TC_PARSE_CONS_EXPRESSION): Define.
+       (x86_cons): Declare.
+       (TC_CONS_FIX_NEW): Define.
+       (x86_cons_fix_new): Declare.
+
+2001-03-12  Nick Clifton  <nickc@redhat.com>
+
+       * config/tc-arm.c (md_begin): Always set machine type based on
+       cpu_variant.
+
 2001-03-07  Alan Modra  <alan@linuxcare.com.au>
 
        * config/tc-i386.c (struct _i386_insn): Rename disp_reloc to reloc.
-       (md_assemble [smallest displacement]): Use correct field of i.op[]
+       (md_assemble) <smallest displacement>: Use correct field of i.op[]
        union.
-       (md_assemble [JumpInterSegment output]): Use correct i.disp_reloc[].
-       (md_assemble [immediate output]): Likewise.
+       <JumpInterSegment output>: Use correct i.disp_reloc[].
+       <immediate output>: Likewise.
 
 2001-03-06  Nick Clifton  <nickc@redhat.com>
 
This page took 0.027042 seconds and 4 git commands to generate.