+2002-09-11 Nick Clifton <nickc@redhat.com>
+
+ * po/tr.po: Updated Turkish translation.
+
+2002-09-11 Jakub Jelinek <jakub@redhat.com>
+
+ * config/tc-i386.c (md_apply_fix3): Allow addend for
+ BFD_RELOC_386_TLS_LDO_32, BFD_RELOC_386_TLS_LE and
+ BFD_RELOC_386_TLS_LE_32.
+
+2002-09-05 Jeff Law <law@redhat.com>
+
+ * config/tc-hppa.c (md_apply_fix3): Don't set fx_done for
+ marker relocations such as ENTRY/EXIT.
+ * config/tc-hppa.h (MD_APPLY_SYM_VALUE): Definition applies
+ to both OBJ_ELF and OBJ_SOM.
+
+2002-09-05 Alan Modra <amodra@bigpond.net.au>
+
+ * doc/internals.texi (md_apply_fix3): Expand.
+ (TC_VALIDATE_FIX, TC_FORCE_RELOCATION, TC_FORCE_RELOCATION_ABS,
+ TC_FORCE_RELOCATION_LOCAL, TC_FORCE_RELOCATION_SUB_SAME,
+ TC_FORCE_RELOCATION_SUB_ABS, TC_FORCE_RELOCATION_SUB_LOCAL,
+ TC_VALIDATE_FIX_SUB, MD_APPLY_SYM_VALUE, S_FORCE_RELOC,
+ EXTERN_FORCE_RELOC): Document.
+ (TC_HANDLES_FX_DONE, obj_fix_adjustable): Remove.
+ * as.h: Don't include struc-symbol.h for arc.
+ (IS_ELF): Define.
+ * cgen.c (gas_cgen_md_apply_fix3): Remove *valP fudges and code to
+ subtract absolute symbol.
+ * obj.h (struct format_ops): Add frob_file_before_fix.
+ * subsegs.c (section_symbol): Set BSF_SECTION_SYM flag.
+ * symbols.c (S_FORCE_RELOC): New function.
+ * symbols.h (S_FORCE_RELOC): Declare.
+ * write.c (TC_FORCE_RELOCATION): Change default.
+ (TC_FORCE_RELOCATION_ABS): Define.
+ (TC_RELOC_RTSYM_LOC_FIXUP): Don't define.
+ (TC_FORCE_RELOCATION_LOCAL): Define this instead.
+ (TC_FORCE_RELOCATION_SECTION): Don't define.
+ (TC_FORCE_RELOCATION_SUB_SAME): Define this instead.
+ (TC_FORCE_RELOCATION_SUB_ABS): Define.
+ (TC_FORCE_RELOCATION_SUB_LOCAL): Define.
+ (TC_VALIDATE_FIX_SUB): Define.
+ (TC_FIX_ADJUSTABLE): Don't define.
+ (MD_APPLY_SYM_VALUE): Define this instead.
+ (abs_section_sym): New variable.
+ (adjust_reloc_syms): Use S_FORCE_RELOC. Remove obj_fix_adjustable
+ call. Don't symbol_mark_used_in_reloc here. Simplify link_once tests.
+ Don't put the absolute section sym on fixups here.
+ (fix_segment): New function.
+ (write_relocs): Don't call fixup_segment from here.
+ (write_object_file): Instead call tc_frob_file_before_fix,
+ obj_frob_file_before_fix, and fix_segment prior to symbol table code.
+ Don't output the absolute section symbol.
+ (fixup_segment): Rewrite.
+ * write.h (abs_section_sym): Declare.
+ * config/obj-aout.c (obj_aout_frob_file_before_fix): Rename from
+ obj_aout_frob_file.
+ (aout_format_ops): Adjust to suit.
+ * config/obj-aout.h (obj_frob_file): Don't define.
+ (obj_frob_file_before_fix): Define.
+ (obj_aout_frob_file_before_fix): Rename from obj_aout_frob_file.
+ (S_FORCE_RELOC): Define.
+ * config/obj-bout.h (S_FORCE_RELOC): Define.
+ * config/obj-coff.c (coff_format_ops): Init new field.
+ * config/obj-coff.h: Formatting fixes.
+ (obj_sec_sym_ok_for_reloc): Define.
+ (S_FORCE_RELOC): Define.
+ * config/obj-ecoff.c (ecoff_frob_file_before_fix): Split out ..
+ (ecoff_frob_file): .. from here.
+ (ecoff_format_ops): Add new function.
+ * config/obj-ecoff.h (ecoff_frob_file_before_fix): Declare.
+ (obj_frob_file_before_fix): Define.
+ * config/obj-elf.c (elf_format_ops): Init new field.
+ * config/obj-elf.h (obj_sec_sym_ok_for_reloc): Expand comment.
+ * config/obj-ieee.h: Formatting fixes.
+ (S_FORCE_RELOC): Define.
+ * config/obj-multi.h (obj_frob_file_before_fix): Define.
+ * config/obj-vms.h (S_FORCE_RELOC): Define.
+ * config/tc-alpha.c (md_apply_fix3): Correct GPDISP comment.
+ (alpha_force_relocation): Use S_FORCE_RELOC, and don't return 0
+ for BFD_RELOC_32 and BFD_RELOC_64.
+ (alpha_fix_adjustable): Remove extern and weak tests.
+ (alpha_before_fix): Rename from alpha_adjust_symtab.
+ (alpha_adjust_relocs): Rename from alpha_adjust_symtab_relocs.
+ * config/tc-alpha.h (struct fix, struct alpha_reloc_tag): Declare.
+ (TC_VALIDATE_FIX): Tweak param name.
+ (TC_FORCE_RELOCATION, tc_fix_adjustable): Likewise.
+ (TC_RELOC_RTSYM_LOC_FIXUP): Don't define.
+ (TC_FORCE_RELOCATION_LOCAL): Define this instead.
+ (MD_APPLY_SYM_VALUE): Define.
+ (tc_adjust_symtab): Don't define.
+ (alpha_adjust_symtab): Don't declare.
+ (tc_frob_file_before_fix): Define.
+ (alpha_before_fix): Declare.
+ (TC_INIT_FIX_DATA): Tweak param names.
+ * config/tc-arc.c: Include "struc-symbol.h".
+ (md_pcrel_from): Remove undefined sym fudge.
+ (md_apply_fix3): Remove *valP fudges and code to subtract abs sym.
+ Don't set fx_addnumber.
+ (tc_gen_reloc): Remove spurious fx_addnumber comment.
+ * config/tc-arc.h (MD_APPLY_SYM_VALUE): Define.
+ (EXTERN_FORCE_RELOC): Define.
+ * config/tc-arm.c (md_apply_fix3 <case BFD_RELOC_ARM_GOTPC>): Remove.
+ (tc_gen_reloc): Fudge ARM_GOTPC addend.
+ (arm_validate_fix): Return void.
+ (arm_fix_adjustable <elf version>): Remove extern and weak tests.
+ Add plt and got reloc tests.
+ (arm_force_relocation): Call S_FORCE_RELOC.
+ * config/tc-arm.h (struct fix): Forward declare.
+ (TC_VALIDATE_FIX): No longer set add_symbolP.
+ (arm_validate_fix): Adjust declaration.
+ (TC_FORCE_RELOCATION <pe version): Call S_FORCE_RELOC.
+ (TC_FORCE_RELOCATION): Tweak param name.
+ (TC_INIT_FIX_DATA): Likewise.
+ (obj_fix_adjustable): Don't define.
+ (tc_fix_adjustable): Call arm_fix_adjustable.
+ (TC_FIX_ADJUSTABLE): Don't define.
+ (MD_APPLY_SYM_VALUE): Define.
+ (EXTERN_FORCE_RELOC): Define.
+ (TC_RELOC_RTSYM_LOC_FIXUP): Don't define.
+ (TC_FORCE_RELOCATION_LOCAL): Define this instead.
+ * config/tc-avr.c (md_apply_fix3): Don't cast valP pointer type.
+ Remove *valP fudges and code to subtract abs sym. Don't set
+ fx_addnumber.
+ * config/tc-avr.h: Formatting.
+ (EXTERN_FORCE_RELOC): Define.
+ (MD_APPLY_SYM_VALUE): Define.
+ * config/tc-cris.c (tc_gen_reloc): Don't use fx_addnumber.
+ (md_apply_fix3): Remove code to subtract abs sym.
+ (md_cris_force_relocation): Update comment. Call S_FORCE_RELOC.
+ * config/tc-cris.h (TC_FORCE_RELOCATION): Tweak param name.
+ (IS_CRIS_PIC_RELOC, tc_fix_adjustable): Likewise.
+ (TC_RELOC_RTSYM_LOC_FIXUP): Don't define.
+ (TC_FORCE_RELOCATION_LOCAL): Define this instead.
+ (tc_fix_adjustable): Remove extern, weak tests.
+ * config/tc-d10v.c (tc_gen_reloc): Don't fiddle address of
+ BFD_RELOC_VTABLE_INHERIT relocs. Don't use fx_addnumber.
+ (md_apply_fix3): Don't cast valP pointer type. Remove *valP fudges
+ and code to subtract abs sym.
+ (d10v_fix_adjustable): Remove extern, weak, SEC_MERGE tests.
+ (d10v_force_relocation): Call S_FORCE_RELOC.
+ * config/tc-d10v.h: Don't include write.h.
+ (struct fix): Instead, forward declare.
+ (MD_PCREL_FROM_SECTION): Tweak param names.
+ (md_pcrel_from_section): Use "struct fix" instead of "fixS".
+ (d10v_fix_adjustable): Likewise.
+ (obj_fix_adjustable): Don't define.
+ (tc_fix_adjustable): Define.
+ (TC_FORCE_RELOCATION): Tweak param name.
+ (MD_APPLY_SYM_VALUE): Define.
+ (EXTERN_FORCE_RELOC): Define.
+ * config/tc-d30v.c (tc_gen_reloc): Don't use fx_addnumber.
+ (md_apply_fix3): Don't cast valP pointer type. Remove *valP fudges
+ and code to subtract abs sym.
+ * config/tc-d30v.h: Don't include write.h.
+ (struct fix): Instead, forward declare.
+ (MD_PCREL_FROM_SECTION): Tweak param names.
+ (md_pcrel_from_section): Use "struct fix" instead of "fixS".
+ (MD_APPLY_SYM_VALUE): Define.
+ (EXTERN_FORCE_RELOC): Define.
+ * config/tc-dlx.c (md_dlx_force_relocation): Call S_FORCE_RELOC.
+ (md_dlx_fix_adjustable): Don't test for NULL fx_addsy.
+ (md_apply_fix3): No need to test fx_pcrel before setting fx_done.
+ (tc_gen_reloc): Don't fiddle with BFD_RELOC_VTABLE_INHERIT relocs.
+ Adjust the address for BFD_RELOC_VTABLE_ENTRY, not the addend.
+ Don't use fx_addnumber.
+ * config/tc-dlx.h: Don't include write.h.
+ (md_convert_frag): We're not alpha twice over.
+ (EXTERN_FORCE_RELOC): Define.
+ (obj_fix_adjustable): Don't define.
+ (tc_fix_adjustable): Define.
+ (TC_FIX_ADJUSTABLE): Don't define.
+ (MD_APPLY_SYM_VALUE): Define.
+ (LOCAL_LABELS_DOLLAR): Undef always.
+ * config/tc-fr30.c (fr30_force_relocation): Call S_FORCE_RELOC.
+ (fr30_fix_adjustable): Remove extern, weak tests.
+ * config/tc-fr30.h (MD_APPLY_SYM_VALUE): Define.
+ (obj_fix_adjustable): Don't define.
+ (tc_fix_adjustable): Define.
+ (struct fix): Forward declare.
+ (MD_PCREL_FROM_SECTION): Tweak param name. Remove duplicate.
+ * config/tc-frv.c (frv_force_relocation): Call S_FORCE_RELOC.
+ (frv_fix_adjustable): Don't do extern, weak tests.
+ * config/tc-frv.h (MD_APPLY_SYM_VALUE): Define.
+ (TC_FIX_ADJUSTABLE): Don't define.
+ (obj_fix_adjustable): Don't define.
+ (tc_fix_adjustable): Define.
+ (struct fix): Forward declare.
+ (MD_PCREL_FROM_SECTION): Tweak param name. Remove duplicate.\
+ * config/tc-h8300.c (md_apply_fix3): Don't cast valP pointer type.
+ * config/tc-h8300.h (struct fix): Forward declare.
+ (EXTERN_FORCE_RELOC): Define.
+ * config/tc-hppa.c (md_apply_fix3): Remove subtraction of sym value.
+ (hppa_fix_adjustable): Don't test extern or weak. Don't
+ symbol_mark_used_in_reloc.
+ (hppa_force_relocation): Use S_FORCE_RELOC instead of S_IS_EXTERNAL
+ and S_IS_WEAK.
+ * config/tc-hppa.h (EXTERN_FORCE_RELOC): Define
+ (TC_FORCE_RELOCATION, TC_INIT_FIX_DATA): Tweak param name.
+ (TC_FORCE_RELOCATION_SECTION): Don't define.
+ (MD_APPLY_SYM_VALUE): Define.
+ * config/tc-i370.c (md_apply_fix3): Remove *valP fudges and code
+ to subtract abs sym.
+ * config/tc-i370.h: Remove ifdef OBJ_ELF tests.
+ (MD_APPLY_SYM_VALUE): Define.
+ (MD_PCREL_FROM_SECTION): Tweak param name.
+ * config/tc-i386.c (tc_i386_fix_adjustable): Remove weak, extern tests.
+ (md_apply_fix3): Test fx_addsy, not fx_pcrel.
+ (i386_force_relocation): New function.
+ * config/tc-i386.h (TC_COFF_FIX2RTYPE): Tweak param name.
+ (TC_VALIDATE_FIX): Likewise.
+ (TC_FIX_ADJUSTABLE): Don't define.
+ (MD_APPLY_SYM_VALUE): Define.
+ (TC_FORCE_RELOCATION <elf version>): Call i386_force_relocation.
+ (i386_force_relocation): Declare.
+ (TC_RELOC_RTSYM_LOC_FIXUP): Don't define.
+ (TC_FORCE_RELOCATION_LOCAL): Define this instead.
+ (TC_FORCE_RELOCATION <coff version>): Call S_FORCE_RELOC.
+ * config/tc-i860.c (md_apply_fix3): Don't cast valP pointer type.
+ * config/tc-i860.h (MD_APPLY_SYM_VALUE): Define.
+ (EXTERN_FORCE_RELOC): Define.
+ * config/tc-i960.c (reloc_callj): Remove declaration. Return false.
+ (md_apply_fix3): Don't cast valP pointer type. Move code here from
+ old fixup_segment. No need to test fx_pcrel before setting fx_done.
+ (i960_validate_fix): Remove add_symbolPP arg and add_symbolP macro.
+ Use fx_addsy instead of add_symbolP, as_bad_where instead of as_bad.
+ Remove #if 0 code. Invert return boolean.
+ * config/tc-i960.h (TC_COUNT_RELOC): Tweak param name.
+ (TC_COFF_FIX2RTYPE, TC_ADJUST_RELOC_COUNT, TC_VALIDATE_FIX): Likewise.
+ (tc_headers_hook, tc_coff_fix2rtype): Remove declaration.
+ (tc_coff_sizemachdep): Prototype.
+ (i960_handle_align): Likewise.
+ (i960_validate_fix): Adjust declaration.
+ (reloc_callj): Likewise.
+ (EXTERN_FORCE_RELOC): Define.
+ (TC_FORCE_RELOCATION_SUB_SAME): Define.
+ (TC_FORCE_RELOCATION_ABS): Define.
+ (TC_RELOC_RTSYM_LOC_FIXUP): Don't define.
+ (TC_FORCE_RELOCATION_LOCAL): Define this instead.
+ (TC_FIX_ADJUSTABLE): Don't define.
+ (MD_APPLY_SYM_VALUE): Define.
+ * config/tc-ia64.c (ia64_force_relocation): Call S_FORCE_RELOC.
+ * config/tc-ia64.h (MD_APPLY_SYM_VALUE): Define.
+ (TC_RELOC_RTSYM_LOC_FIXUP): Don't define.
+ (TC_FORCE_RELOCATION_LOCAL): Define this instead.
+ * config/tc-ip2k.c (ip2k_force_relocation): Call S_FORCE_RELOC.
+ * config/tc-ip2k.h (MD_APPLY_FIX3): Don't define.
+ (MD_APPLY_SYM_VALUE): Define.
+ (EXTERN_FORCE_RELOC): Define.
+ (TC_FORCE_RELOCATION): Tweak param name.
+ * config/tc-m32r.c (m32r_force_relocation): Call S_FORCE_RELOC.
+ (m32r_fix_adjustable): Don't test extern, weak.
+ * config/tc-m32r.h (MD_PCREL_FROM_SECTION): Tweak param name.
+ (MD_APPLY_SYM_VALUE): Define.
+ (obj_fix_adjustable): Don't define.
+ (tc_fix_adjustable): Define.
+ (tc_frob_file): Don't define.
+ (tc_frob_file_before_fix): Define.
+ (EXTERN_FORCE_RELOC): Define.
+ * config/tc-m68hc11.c (tc_gen_reloc): Set addend to zero. Adjust
+ BFD_RELOC_VTABLE_ENTRY address.
+ (tc_m68hc11_force_relocation): Call S_FORCE_RELOC.
+ (tc_m68hc11_fix_adjustable): Don't test relaxable_symbol.
+ (md_apply_fix3): Remove *valP fudges and code to subtract abs sym.
+ Remove duplicated fx_done code.
+ * config/tc-m68hc11.h (MD_APPLY_SYM_VALUE): Define.
+ (EXTERN_FORCE_RELOC): Define.
+ * config/tc-m68k.c (tc_m68k_fix_adjustable): Don't test
+ relaxable_symbol.
+ * config/tc-m68k.h (TC_COFF_FIX2RTYPE): Tweak param name.
+ (TC_RELOC_RTSYM_LOC_FIXUP): Don't define.
+ (TC_FIX_ADJUSTABLE): Don't define.
+ (EXTERN_FORCE_RELOC): Define.
+ (MD_APPLY_SYM_VALUE): Define.
+ (TC_FORCE_RELOCATION): Call S_FORCE_RELOC.
+ * config/tc-mcore.c (md_apply_fix3): Don't cast valP pointer type.
+ Remove fx_addsy tests.
+ (mcore_force_relocation): Call S_FORCE_RELOC.
+ (mcore_fix_adjustable): Don't test fx_addsy.
+ * config/tc-mcore.h (MD_PCREL_FROM_SECTION): Tweak param name.
+ (EXTERN_FORCE_RELOC): Define.
+ (obj_fix_adjustable): Don't define.
+ (tc_fix_adjustable): Define.
+ (MD_APPLY_SYM_VALUE): Define.
+ * config/tc-mips.c (enum mips_pic_level): Move to tc-mips.h.
+ (mips_pic): No longer static.
+ (mips_force_relocation): Call S_FORCE_RELOC.
+ (mips_fix_adjustable): Remove extern, weak tests.
+ * config/tc-mips.h (enum mips_pic_level): Declare.
+ (mips_pic): Declare.
+ (tc_frob_file): Don't define.
+ (tc_frob_file_before_fix): Define this instead.
+ (EXTERN_FORCE_RELOC): Define.
+ * config/tc-mmix.c (md_apply_fix3): Replace real_reg_section tests
+ with reg_section tests. Set fx_done instead of calling
+ symbol_clear_used_in_reloc on bad relocs.
+ (tc_gen_reloc): Zero fx_addsy on bad relocs.
+ (mmix_force_relocation): Remove weak sym test. Call S_FORCE_RELOC.
+ (mmix_adjust_symtab): Simplify list handling. Abort on any
+ nonsense.
+ * config/tc-mmix.h (tc_fix_adjustable): Remove weak tests. Check
+ BFD_RELOC_MMIX_LOCAL.
+ (tc_frob_symbol): Keep user defined syms in reg_section. Don't punt.
+ (EXTERN_FORCE_RELOC): Define.
+ (MD_PCREL_FROM_SECTION): Tweak param name.
+ (tc_frob_file): Don't define.
+ (tc_frob_file_before_fix): Define this instead.
+ * config/tc-mn10300.c (mn10300_force_relocation): Call S_FORCE_RELOC.
+ Remove SEC_CODE checks.
+ (mn10300_fix_adjustable): Remove extern and weak tests.
+ * config/tc-mn10300.h (EXTERN_FORCE_RELOC): Define.
+ (TC_FORCE_RELOCATION): Tweak param name.
+ (obj_fix_adjustable): Don't define.
+ (TC_FORCE_RELOCATION_SUB_SAME): Define to handle SEC_CODE.
+ * config/tc-ns32k.h (TC_FIX_DATA_PRINT): Tweak param name.
+ * config/tc-openrisc.c (openrisc_force_relocation): Call S_FORCE_RELOC.
+ (openrisc_fix_adjustable): Don't test fx_addsy.
+ * config/tc-openrisc.h (MD_APPLY_SYM_VALUE): Define.
+ (obj_fix_adjustable): Don't define.
+ (tc_fix_adjustable): Define this instead.
+ (MD_PCREL_FROM_SECTION): Remove duplicate. Tweak param name.
+ * config/tc-or32.c (md_apply_fix3): Don't cast valP pointer type.
+ (tc_gen_reloc): Don't fiddle with BFD_RELOC_VTABLE_INHERIT relocs.
+ Adjust the address for BFD_RELOC_VTABLE_ENTRY, not the addend.
+ * config/tc-or32.h (EXTERN_FORCE_RELOC): Define.
+ (MD_APPLY_SYM_VALUE): Define.
+ * config/tc-pj.c (md_apply_fix3): Don't cast valP pointer type.
+ Don't subtract symbol value.
+ * config/tc-pj.h (md_pcrel_from): Tweak param name.
+ (EXTERN_FORCE_RELOC): Define.
+ (TC_FORCE_RELOCATION): Call S_FORCE_RELOC.
+ (MD_APPLY_SYM_VALUE): Define.
+ (obj_fix_adjustable): Don't define.
+ (tc_fix_adjustable): Define this instead.
+ * config/tc-ppc.c (ppc_frob_symbol <coff version>): Ignore absolute
+ section sym.
+ (ppc_force_relocation <coff version>): Call S_FORCE_RELOC.
+ (ppc_force_relocation <elf version>): New.
+ (ppc_fix_adjustable <elf version>): Remove extern and weak tests.
+ (md_apply_fix3): Don't subtract symbol values for ELF. Update
+ comments. Don't subtract fx_subsy as that is already done.
+ * config/tc-ppc.h (tc_fix_adjustable): Tweak param name.
+ (MD_PCREL_FROM_SECTION): Likewise.
+ (TC_FORCE_RELOCATION): Define for both ELF and XCOFF as calling
+ ppc_force_relocation.
+ (TC_FORCE_RELOCATION_SECTION): Delete.
+ (TC_RELOC_RTSYM_LOC_FIXUP): Don't define.
+ (TC_FORCE_RELOCATION_LOCAL): Define this instead.
+ (MD_APPLY_SYM_VALUE): Define.
+ * config/tc-s390.c: #include "dwarf2dbg.h".
+ (s390_insn): Remove excess parens.
+ (tc_s390_fix_adjustable): Remove extern, weak, SEC_MERGE tests.
+ (tc_s390_force_relocation): Call S_FORCE_RELOC.
+ (md_apply_fix3): Add ATTRIBUTE_UNUSED on "seg". Abort when fx_subsy
+ non-NULL. Don't subtract off fx_addsy value.
+ * config/tc-s390.h (TC_RELOC_RTSYM_LOC_FIXUP): Don't define.
+ (TC_FORCE_RELOCATION, MD_PCREL_FROM_SECTION): Tweak param name.
+ (TC_FIX_ADJUSTABLE): Don't define.
+ (MD_APPLY_SYM_VALUE): Define.
+ * config/tc-sh.c (SWITCH_TABLE_CONS): Move to tc-sh.h.
+ (SWITCH_TABLE): Likewise.
+ (sh_force_relocation): Call S_FORCE_RELOC.
+ (sh_fix_adjustable): Remove "return 1" cases handled by the default.
+ Replace TC_RELOC_RTSYM_LOC_FIXUP with reloc type tests.
+ (md_apply_fix3 <case BFD_RELOC_32_PLT_PCREL>): Simplify,
+ fx_addnumber is zero on entry. Save val in fx_addnumber.
+ (tc_gen_reloc): Don't subtract fx_subsy.
+ * config/tc-sh.h (struct fix): Move.
+ (obj_fix_adjustable): Don't define.
+ (tc_fix_adjustable): Define this instead.
+ (TC_FIX_ADJUSTABLE): Don't define.
+ (MD_APPLY_SYM_VALUE): Define.
+ (SWITCH_TABLE_CONS): Define.
+ (SWITCH_TABLE): Define.
+ (TC_FORCE_RELOCATION_SUB_SAME): Define.
+ (TC_VALIDATE_FIX_SUB): Define.
+ (MD_PCREL_FROM_SECTION): Tweak param name.
+ (TC_RELOC_RTSYM_LOC_FIXUP): Don't define.
+ (TC_FORCE_RELOCATION_LOCAL): Define this instead.
+ (TC_FORCE_RELOCATION_SUB_ABS): Define.
+ * config/tc-sh64.h (TC_RELOC_RTSYM_LOC_FIXUP): Don't define.
+ (TC_FORCE_RELOCATION_LOCAL): Define this instead.
+ (TC_FORCE_RELOCATION_SUB_SAME): Define.
+ (TC_VALIDATE_FIX_SUB): Define.
+ (MD_PCREL_FROM_SECTION): Tweak param name.
+ * config/tc-sparc.c (md_apply_fix3): Don't subtract off symbol value.
+ (tc_gen_reloc): Use S_FORCE_RELOC.
+ (elf32_sparc_force_relocation): Call S_FORCE_RELOC.
+ * config/tc-sparc.h (TC_FORCE_RELOCATION <coff version>): Remove.
+ (TC_FORCE_RELOCATION_ABS): Define this instead.
+ (TC_RELOC_RTSYM_LOC_FIXUP): Don't define.
+ (TC_FORCE_RELOCATION_LOCAL): Define this instead.
+ (tc_fix_adjustable): Remove extern and weak tests. Use S_FORCE_RELOC.
+ (MD_APPLY_SYM_VALUE): Define.
+ (TC_FIX_DATA_PRINT): Tweak param name.
+ * config/tc-tic30.c (USE_STDOUT): Don't define.
+ (md_parse_option): Remove stupid debug code.
+ (tc_gen_reloc): Don't use fx_addnumber.
+ * config/tc-v850.c (v850_fix_adjustable): Remove extern and weak tests.
+ (v850_force_relocation): Remove weak test. Call S_FORCE_RELOC.
+ * config/tc-v850.h (obj_fix_adjustable): Don't define.
+ (tc_fix_adjustable): Define this instead.
+ (TC_FIX_ADJUSTABLE): Don't define.
+ (MD_APPLY_SYM_VALUE): Define this instead.
+ (TC_FORCE_RELOCATION, MD_PCREL_FROM_SECTION): Tweak param name.
+ * config/tc-vax.h (TC_RELOC_RTSYM_LOC_FIXUP): Don't define.
+ (TC_FIX_ADJUSTABLE): Don't define.
+ (MD_APPLY_SYM_VALUE): Define this instead.
+ (tc_fix_adjustable): Remove extern and weak tests.
+ * config/tc-w65.h (struct fix): Forward declare.
+ * config/tc-xstormy16.c (xstormy16_force_relocation): Call
+ S_FORCE_RELOC.
+ (xstormy16_fix_adjustable): Remove extern and weak tests. Don't
+ call xstormy16_force_relocation; Instead test for FPTR16 reloc.
+ (xstormy16_md_apply_fix3): Remove *valP fudges and code to subtract
+ absolute symbol.
+ * config/tc-xstormy16.h (MD_APPLY_FIX3): Don't define.
+ (MD_APPLY_SYM_VALUE): Define.
+ (obj_fix_adjustable): Don't define.
+ (tc_fix_adjustable): Define this instead.
+ (MD_PCREL_FROM_SECTION): Remove duplicate. Tweak param name.
+
+2002-09-04 Alan Modra <amodra@bigpond.net.au>
+
+ * config/tc-ppc.c (ppc_frob_symbol): Formatting, warning fix.
+ (ppc_fix_adjustable <coff version>): Cleanup.
+
+ * config/tc-ppc.c (PPC_HIGHER, PPC_HIGHEST): Fix warning.
+ (md_parse_option): No -a64 without BFD64.
+ (ppc_set_cpu): Select appropriate cpu when ppc_obj64.
+ (ppc_arch): Use bfd_mach_rs6k for bfd_arch_rs6000.
+
+2002-09-04 Nick Clifton <nickc@redhat.com>
+
+ * config/tc-ppc.c (md_begin): Do not insert non-BookE32
+ instructions into the hash table if the target cpu is the BookE32.
+
+2002-08-31 Hans-Peter Nilsson <hp@bitrange.com>
+
+ * read.c (do_align): Use ATTRIBUTE_UNUSED_LABEL for label, not
+ ATTRIBUTE_UNUSED.
+
+2000-08-28 Catherine Moore <clm@redhat.com>
+
+ * tc-v850.c (v850_relax): Declare.
+ (v850_longcode): New routine.
+ (v850_handle_align): New routine.
+ (md_pseudo_table): Add longcall and longjump.
+ (md_parse_option): Check for relax option.
+ (tc_gen_reloc): Handle BFD_RELOC_V850_LONGCALL,
+ BFD_RELOC_V850_LONGJUMP, and BFD_RELOC_V850_ALIGN.
+ (md_apply_fix3): Likewise.
+ (v850_force_relocation): Likewise.
+ (v850_comm): Change the current section.
+ (md_assemble): Ensure that the correct value is put in the
+ fixup.
+ (v850_sdata, v850_tdata, v850_zdata, v850_sbss, v850_tbss,
+ v850_zbss, v850_rosdata, v850_rozdata): Fix section book keeping.
+ Remove redundant v850ea support.
+ * tc-v850.h (HANDLE_ALIGN): Define.
+ (v850_handle_align): Declare.
+ * doc/c-v850.c: Document -mrelax, .longcall and .longjump.
+
+2002-08-28 Svein E. Seldal <Svein.Seldal@solidas.com>
+
+ * configure.in: Add tic4x-coff* and c4x-coff*-coff-coff targets.
+ * configure: Regenerate.
+ * NEWS: Mention new port.
+
+2002-08-28 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
+
+ * config/obj-coff.c: Add sdef definition.
+ * config/obj-coff.h: Add tic4x include file and set
+ target format.
+ * config/tc-tic4x.c: New file.
+ * config/tc-tic4x.h: New file.
+
+2002-08-28 Alan Modra <amodra@bigpond.net.au>
+
+ * write.c (BFD_FAST_SECTION_FILL): Remove unused macro.
+ (TC_ADJUST_RELOC_COUNT): Tweak param name.
+ (TC_FORCE_RELOCATION, TC_FORCE_RELOCATION_SECTION): Likewise.
+ (TC_FIX_ADJUSTABLE, MD_PCREL_FROM_SECTION): Likewise.
+ (RELOC_ENUM): Define.
+ (fix_new_internal): Use RELOC_ENUM.
+ (fix_new, fix_new_exp): Likewise.
+ (adjust_reloc_syms): Comment. Remove unnecessary tests on sym != NULL.
+ Replace gotos with continue.
+ (write_relocs): Formatting. Avoid symbol loops in
+ RELOC_EXPANSION_POSSIBLE case too. Report bfd_reloc_outofrange
+ errors, and error number in other cases.
+ (fixup_segment): Remove param names from prototype. Rename
+ "this_segment_type" to "this_segment". Update linkrelax comment.
+ Remove "size, "place" and "where" local vars. Formatting. Update
+ "no symbol" comment. Remove #if 0 and #if 1.
+
+ * app.c (do_scrub_chars): Don't test IGNORE_NONSTANDARD_ESCAPES. Tidy.
+
+2002-08-27 Alan Modra <amodra@bigpond.net.au>
+
+ * dwarf2dbg.c: Always include dwarf2dbg.h.
+ (dwarf2_directive_file): Adjust dummy version args.
+ * ecoff.c (ecoff_directive_weakext): Add ATTRIBUTE_UNUSED.
+ * expr.c (clean_up_expression <O_subtract>): Allow subtraction
+ when symbol values differ.
+ * read.c (do_align): Add ATTRIBUTE_UNUSED to label.
+ (pseudo_set <O_subtract>): Remove unnecessary segment test.
+ * config/obj-bout.c (obj_pseudo_table): Warning fix.
+
+2002-08-26 Alan Modra <amodra@bigpond.net.au>
+
+ * config/tc-w65.c (md_section_align): Fix typo.
+ (md_parse_option): Return 0, not 1.
+
+2002-08-22 Nick Clifton <nickc@redhat.com>
+
+ * doc/as.texinfo (Section): Note that if '@' is a comment
+ character then another symbol is used to prefix the section's
+ type.
+
+2002-08-22 Christian Groessler <chris@groessler.org>
+
+ * config/tc-z8k.c (get_operands): Adjust ptr variable also in
+ "case 0" case.
+
+2002-08-12 Graeme Peterson <gp@qnx.com>
+
+ * configure.in: Add support for sh-**-nto* target.
+ * configure: Regenerate.
+
+2002-08-21 Nitin Gupta <niting@noida.hcltech.com>
+
+ * config/tc-h8300.h (TC_LINKRELAX_FIXUP): Define.
+
+2002-08-21 Elena Zannoni <ezannoni@redhat.com>
+
+ * config/tc-ppc.c (ppc_cleanup): Do something only if format
+ is ELF.
+ (ppc_apuinfo_section_add): Define only if format is ELF.
+ (md_assemble): Emit APUinfo section only if format is ELF.
+ Fix formatting.
+
+2002-08-21 Alan Modra <amodra@bigpond.net.au>
+
+ * config/tc-arc.c (md_pseudo_table <dwarf2_directive_file>): Cast.
+ * config/tc-frv.c: Likewise.
+ * config/tc-hppa.c: Likewise.
+ * config/tc-ia64.c: Likewise.
+ * config/tc-ip2k.c: Likewise.
+ * config/tc-m68hc11.c: Likewise.
+ * config/tc-m68k.c: Likewise.
+ * config/tc-mmix.c: Likewise.
+ * config/tc-mn10300.c: Likewise.
+ * config/tc-sh.c: Likewise.
+ * config/tc-sparc.c: Likewise.
+ * config/tc-v850.c: Likewise.
+
+2002-08-20 Richard Sandiford <rsandifo@redhat.com>
+
+ * config/tc-mips.c (macro2): Implement rotates by zero using shifts
+ by zero.
+
+2002-08-19 Elena Zannoni <ezannoni@redhat.com>
+
+ From matthew green <mrg@redhat.com>
+
+ * config/tc-ppc.c (PPC_OPCODE_CLASSIC): Enable this everywhere
+ PPC_OPCODE_PPC is, except for BookE architectures.
+ (md_parse_option): Add support for -mspe.
+ (md_show_usage): Add -mspe.
+ (md_parse_option): Add support for -me500 and
+ -me500x2 to generate code for Motorola e500 core complex.
+ (md_show_usage): Add -me500 and -me500x2.
+
+ (PPC_APUINFO_ISEL, PPC_APUINFO_PMR, PPC_APUINFO_RFMCI,
+ PPC_APUINFO_CACHELCK, PPC_APUINFO_SPE, PPC_APUINFO_EFS,
+ PPC_APUINFO_BRLOCK): New macros.
+
+ (ppc_cleanup): New function.
+ (ppc_apuinfo_section_add): New function.
+ (APUID): New macro.
+ (md_assemble): Collect info and write the APUinfo section.
+
+ * config/tc-ppc.h (md_cleanup): Define.
+ (ppc_cleanup): Export.
+ (ELF_TC_SPECIAL_SECTIONS): Add .PPC.EMB.apuinfo section.
+
+2002-08-17 Stan Cox <scox@redhat.com>
+
+ * config/obj-elf.c (obj_elf_change_section): Make non-static.
+ config/tc-mips.c (s_change_section): New function to support
+ IRIX .section pseudo-op.
+
+2002-08-16 Nick Clifton <nickc@redhat.com>
+
+ * config/tc-v850.c (md_assemble): Fix assembling of "callt 0x3f".
+
+2002-08-15 Alexandre Oliva <aoliva@redhat.com>
+
+ * config/tc-mips.c (macro_build_jalr): Make sure we generate
+ the fix-up against on the right frag.
+ (s_cpsetup): Likewise. Parse third argument as expression, to
+ handle global symbols and forward/backward labels correctly.
+
+2002-08-14 Nick Clifton <nickc@redhat.com>
+
+ * read.c (stringer): Catch attempts to create strings in the abs
+ section.
+
+ * config/tc-alpha.c: Fix compiling for COFF targets.
+ Some minor formatting tidyups.
+
+2002-08-13 Stephane Carrez <stcarrez@nerim.fr>
+
+ * config/tc-m68hc11.h (MD_PCREL_FROM_SECTION): Remove.
+ (TC_HANDLES_FX_DONE): Define to let md_apply_fix3 set fx_done flag
+ according to the reloc.
+ (tc_fix_adjustable, tc_m68hc11_fix_adjustable): Define.
+ (TC_FORCE_RELOCATION): Define.
+ (tc_m68hc11_force_relocation): Declare.
+
+ * config/tc-m68hc11.c (md_pseudo_table): Add relax command.
+ (s_m68hc11_relax): New function for relax group.
+ (build_insn, build_jump_insn): Emit a M68HC11_RL_JUMP reloc at
+ beginning of jump instruction.
+ (md_pcrel_from): Rename from md_pcrel_from_section and fix
+ address computation.
+ (tc-gen_reloc): Update.
+ (md_estimate_size_before_relax): Create the BFD_RELOC_16_PCREL as
+ PC-relative fixup.
+ (tc_m68hc11_force_relocation): New function, handle new relocs.
+ (tc_m68hc11_fix_adjustable): New to make sure there are enough
+ reloc for the linker relax pass.
+ (md_apply_fix3): Handle M68HC11_RL_JUMP, M68HC11_RL_GROUP
+ and VTABLE relocs.
+
+2002-08-13 Stephane Carrez <stcarrez@nerim.fr>
+
+ * config/tc-m68hc11.c (m68hc11_elf_final_processing): New function.
+ (md_pseudo_table): Add .mode, .far and .interrupt pseudo op.
+ (s_m68hc11_mode): New function for .mode pseudo op.
+ (s_m68hc11_mark_symbol): New function for .far and .interrupt
+ pseudo op.
+ * config/tc-m68hc11.h (elf_tc_final_processing): Define.
+ (m68hc11_elf_final_processing): Declare.
+
+2002-08-13 Stephane Carrez <stcarrez@nerim.fr>
+
+ * config/tc-m68hc11.c (md_begin): Take into account additional
+ page operand for call instruction.
+ (print_opcode_format): Likewise.
+ (check_range): Likewise for page range checking.
+ (get_operand): Don't skip a possible comma in operands.
+ (fixup8): Generate BFD_RELOC_M68HC11_PAGE reloc.
+ (fixup16): Likwise with BFD_RELOC_M68HC11_LO16.
+ (fixup24): New to handle call reloc.
+ (build_insn): Handle missing page operand for call instruction.
+ (find): Likewise.
+ (md_apply_fix3): Take into account new relocs.
+ (get_operand): Fix the mode for indexed indirect addressing.
+ (build_indexed_byte): Fix post index byte for indexed indirect mode.
+
+2002-08-12 Richard Sandiford <rsandifo@redhat.com>
+
+ * config/tc-mips.c (mips_ip): Don't work out the value of
+ constant %hi()s here.
+
+2002-08-10 Alan Modra <amodra@bigpond.net.au>
+
+ * config/tc-i386.c (tc_i386_fix_adjustable): Test OUTPUT_FLAVOR
+ for ELF, and don't bother checking ELF relocs when non-ELF.
+ (i386_immediate): Allow absolute_section expressions for aout.
+ (i386_displacement): Likewise. Also test bfd_is_com_section.
+ (md_estimate_size_before_relax): Test OUTPUT_FLAVOR for ELF.
+ (md_apply_fix3): Hack for bfd_install_relocation when fx_pcrel,
+ not when fx_addsy. Remove dead code.
+
+2002-08-09 Graeme Peterson <gp@qnx.com>
+
+ * configure.in: Add support for ppc-*-nto* target.
+ * configure: Regenerate.
+
+2002-08-09 Alan Modra <amodra@bigpond.net.au>
+
+ * config/tc-i386.h: Reorganize.
+
+2002-08-09 Maciej W. Rozycki <macro@ds2.pg.gda.pl>
+
+ * config/tc-mips.c (macro): Handle a register plus a 16-bit
+ immediate offset in "dla" and "la" expansions.
+
+2002-08-09 Alan Modra <amodra@bigpond.net.au>
+
+ * configure.in: bfd_gas=yes for all i386 targets. Formatting.
+ Remove "bfd_gas=yes" from target table when covered later.
+ Consolidate some entries.
+ * configure: Regenerate
+
+2002-08-09 Jakub Jelinek <jakub@redhat.com>
+
+ * config/tc-i386.c (output_insn): Save frag_now and frag_now_fix ()
+ at start of insn, pass it to output_disp and output_imm.
+ (output_disp): Added arguments. If _GLOBAL_OFFSET_TABLE_ is seen
+ in displacement for R_386_32 reloc, use R_386_GOTPC and compute
+ properly addend.
+ (output_imm): Added arguments. Compute properly addend for
+ R_386_GOTPC.
+ (md_apply_fix3): Remove R_386_GOTPC handling.
+ * testsuite/gas/i386/gotpc.s: New.
+ * testsuite/gas/i386/gotpc.d: New.
+ * testsuite/gas/i386/i386.exp: Add gotpc test.
+
+2002-08-06 George France <france@handhelds.org>
+
+ * config/tc-alpha.c (cpu_types): Enabled ev67, ev68, -m21264a
+ and m21264b processor names and cpu types.
+ * doc/c-alpha.texi: Documented new types.
+
+2002-08-06 Alan Modra <amodra@bigpond.net.au>
+
+ * config/tc-ppc.c (md_apply_fix3): Adjust 16 bit XCOFF reloc offset.
+
+2002-08-01 Richard Sandiford <rsandifo@redhat.com>
+
+ * config/tc-mips.c (tc_gen_reloc): Extend GP-relative addend
+ handling to BFD_RELOC_MIPS16_GPREL.
+
+2002-08-01 Nick Clifton <nickc@redhat.com>
+
+ * config/tc-arm.c (add_to_lit_pool): Ensure that offset to literal
+ pool is computed using signed arithmetic so that proper sign
+ extension is performed if X_add_number is a 64-bit integer.
+
+2002-08-01 H.J. Lu <hjl@gnu.org>
+ Daniel Jacobowitz <drow@mvista.com>
+
+ * dwarf2dbg.c (dwarf2_finish): Don't emit unreferenced
+ .debug_line section unless it has line information.
+
+2002-07-31 Ian Dall <ian@sibyl.beware.dropbear.id.au>
+
+ * config/tc-ns32k.h (md_pcrel_adjust): Supply prototype.
+ * config/tc-ns32k.c (convert_iif, md_parse_option, md_show_usage):
+ Allow default displacement size to be an option "--disp-size-default".
+ (md_number_to_disp): Make error messages include value. Use %d to
+ print integers, not %s.
+ (fix_new_ns32k): Conditionally set fx_no_overflow so we don't
+ get duplicate messages sometimes.
+ (convert_iif): Grow frag to max possible instruction size. Avoid
+ creating unnecessary fixes.
+ (md_number_to_field) Add prototype.
+ (encode_operand, parse, convert_iif, md_fix_pcrel_adjust): Add
+ prototypes and make static.
+ (struct addr_mode): Make mode and scaled_mode explicitly signed.
+ (evaluate_expr): Use resultP argument instead of exprP global.
+ (get_addr_mode): Quiten compiler warnings.
+ (encode_operand): eliminate unused variables. Quiten compiler
+ warnings. Eliminate nul character in format strings.
+ (parse): argc is unsigned.
+ (reloc): Type cast index to quieten compiler.
+ (md_pcrel_adjust, md_apply_fix3): Remove unused variable.
+ (md_convert_frag): Note unused parameters. Remove unused
+ variables.
+ (md_create_long_jump, md_create_short_jump,
+ md_undefined_symbol_name, md_section_align, tc_gen_reloc): Note
+ unused parameters.
+
+2002-07-31 Nick Clifton <nickc@redhat.com>
+
+ * NEWS: Retroactively add entry for Lars Brinkhoff's contribution
+ of the PDP-11 and 2.11BSD a.out support.
+
+2002-07-31 Momchil Velikov <velco@fadata.bg>
+
+ * config/tc-v850.c (md_assemble): Fix range check for immediate
+ operand.
+
+2002-07-30 Chris Demetriou <cgd@broadcom.com>
+
+ * config/tc-mips.c (mips_cpu_info_table): Clean up entries related
+ to Broadcom SB-1 core support.
+
+2002-07-31 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
+
+ * config/tc-mips.c (mips_target_format): Fix formatting.
+ Add recognition of n32 ABI formats.
+
+2002-07-30 Maciej W. Rozycki <macro@ds2.pg.gda.pl>
+
+ * tc-mips.c (load_address): Don't clobber $at when loading a
+ 64-bit address in non-PIC code if noat is in effect.
+ (macro): Likewise.
+
+2002-07-30 Maciej W. Rozycki <macro@ds2.pg.gda.pl>
+
+ * config/tc-mips.c (macro): Use codes 6 and 7 in trap instructions
+ used in division/multiply macro expansions similarly to how they
+ are used in the variants with break instructions.
+ (macro2): Likewise.
+
+2002-07-30 Graeme Peterson <gp@qnx.com>
+
+ * configure.in: Add support for arm-*-nto target.
+ * configure: Regenerate.
+
+2002-07-30 Nick Clifton <nickc@redhat.com>
+
+ * config/tc-arm.c (struct literal_pool): Add fields to allow
+ multiple literal pools to be maintained.
+ (find_literal_pool): New function.
+ (find_or_make_literal_pool): New function.
+ (add_to_literal_pool): Use find_or_make_literal_pool.
+ (arm_s_text, arm_s_data, arm_s_section): Remove - no longer
+ needed.
+ (s_ltorg): Use find_literal_pool.
+ (arm_cleanup): Dump all literal pools.
+ * doc/c-arm.texi: Document new behaviour of only dumping literal
+ pools upon request.
+
+2002-07-26 Alan Modra <amodra@bigpond.net.au>
+
+ * config/tc-ppc.c (ppc_set_cpu): Use PPC_OPCODE_64 as the default
+ rather than PPC_OPCODE_32 for powerpc64*.
+
+2002-07-25 Nick Clifton <nickc@redhat.com>
+
+ * po/es.po: Updated Spanish translation.
+ * po/fr.po: Updated French translation.
+
+2002-07-25 Richard Sandiford <rsandifo@redhat.com>
+
+ * doc/c-mips.texi: Remove -mcpu. Document -mabi.
+ * configure.in (MIPS_CPU_STRING_DEFAULT): New configuration macro.
+ (USE_E_MIPS_ABI_O32, MIPS_DEFAULT_64BIT): New configuration macros.
+ * configure, config.in: Regenerate.
+ * config/tc-mips.c (file_mips_abi): Rename to mips_abi.
+ (mips_set_options): Remove "abi" field.
+ (mips_opts): Update accordingly. Replace all uses of mips_opts.abi
+ with mips_abi.
+ (mips_cpu): Remove.
+ (mips_arch_string, mips_arch_info): New vars.
+ (mips_tune_string, mips_tune_info): New vars.
+ (ABI_NEEDS_32BIT_REGS, ABI_NEEDS_64BIT_REGS): New macros.
+ (HAVE_32BIT_GPRS, HAVE_32BIT_FPRS): Don't check the ABI.
+ (mips_isa_to_str, mips_cpu_to_str): Remove.
+ (mips_ip): If the selected architecture is a generic ISA rather
+ than a processor, only mention the ISA level in error messages.
+ (OPTION_MCPU): Remove.
+ (OPTION_FP64): New.
+ (md_longopts): Add -mfp64, remove -mcpu.
+ (mips_set_option_string): New fn.
+ (md_parse_option): Make -mipsN update file_mips_isa rather than
+ mips_opts.isa. Use mips_set_option_string to set -march or -mtune.
+ Don't let -mgp32 and -mfp32 change the ABI.
+ (show): Move to end of file. Constify string argument.
+ (md_show_usage): Move to the end of the file. Read available
+ architectures from mips_cpu_info_table.
+ (mips_set_architecture): New fn.
+ (mips_after_parse_args): Rework. Remove -mcpu handling. -mipsN
+ is an alias for -march=mipsN. Don't change the ABI based on other
+ flags. Infer the register size from the ABI as well as the
+ architecture. Complain about more conflicting arguments.
+ Unify logic with GCC.
+ (s_mipsset): Don't change the ABI.
+ (mips_elf_final_processing): Check USE_E_MIPS_ABI_O32.
+ (mips_cpu_info_table): Remove Generic-MIPS* entries, keeping just
+ "mipsN"-type entries. Remove entries that vary only in the
+ manufacturer's prefix, or that have "000" replaced by "k".
+ Remove TARGET_CPU entries. Make r2000 entry use CPU_R3000.
+ (mips_strict_matching_cpu_name_p, mips_matching_cpu_name_p): New fns.
+ (mips_parse_cpu): New fn.
+ (mips_cpu_info_from_name, mips_cpu_info_from_cpu): Remove.
+ (mips_cpu_info_from_isa): Minor formatting tweak.
+
+2002-07-24 Nick Clifton <nickc@redhat.com>
+
+ * po/sv.po: Updated Swedish translation.
+ * po/es.po: Updated Spanish translation.
+
+2002-07-23 Alan Modra <amodra@bigpond.net.au>
+
+ * Makefile.am: Run "make dep-am".
+ * Makefile.in: Regenerate.
+ * doc/Makefile.in: Regenerate.
+ * config.in: Regenerate.
+ * po/POTFILES.in: Regenerate.
+
+2002-07-23 Nick Clifton <nickc@redhat.com>
+
+ * po/fr.po: Updated French translation.
+
+2002-07-23 Nick Clifton <nickc@redhat.com>
+
+ * CONTRIBUTORS: Ken Raeburn is no longer the maintainer for
+ GAS.
+
+2002-07-19 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
+
+ * config/tc-mips.c (mips_need_elf_addend_fixup): Use S_IS_EXTERNAL
+ instead of S_IS_EXTERN.
+ (md_estimate_size_before_relax): Likewise.
+ (mips_fix_adjustable): Likewise.
+
+2002-07-19 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
+
+ * config/tc-mips.c (mips_pic_level): Remove IRIX4_PIC.
+
+2002-07-19 Miroslav Tichy <tichm9am@ss1000.ms.mff.cuni.cz>
+ Nick Clifton <nickc@redhat.com>
+
+ * cond.c (s_ifdef): Treat a referenced but not yet defined
+ symbol as if it were undefined, in exactly the same way as
+ .equiv.
+
+ * doc/as.texinfo: Document that .ifdef, .ifndef and .equiv
+ consider referenced bug not yet defined symbols to be
+ undefined.
+
+2002-07-18 Denis Chertykov <denisc@overta.ru>
+ Frank Ch. Eigler <fche@redhat.com>
+ Alan Lehotsky <alehotsky@cygnus.com>
+ John Healy <jhealy@redhat.com>
+ Jeff Johnston <jjohnstn@redhat.com>
+
+ * configure.in: Add ip2k configuraton.
+ * configure: Regenerate.
+ * Makefile.am: Add ip2k configuraton.
+ * Makefile.in: Regenerate.
+ * configure: Regenerate.
+ * Makefile.in: Regenerate.
+ * config/tc-ip2k.c: New file.
+ * config/tc-ip2k.h: New files.
+ * NEWS: Mention new support.
+ * doc/Makefile.am (CPU_DOCS): Add c-ip2k.texi.
+ * doc/Makefile.in: Regenerate.
+ * doc/all.texi: Set IP2K
+ * doc/as.texinfo: Add IP2K description.
+ * doc/c-ip2k.texi: New file.
+
+2002-07-19 Nick Clifton <nickc@cambridge.redhat.com>
+
+ * NEWS: Reformat to match style of other NEWS files.
+
+2002-07-17 Jan Hubicka <jh@suse.cz>
+
+ * tc-i386.c (i386_align_code): Implement x86_64 neutral code fillers.
+
+2002-07-16 Moritz Jodeit <moritz@jodeit.org>
+
+ * config/tc-z8k.c (build_bytes): Correct order of memset args.
+
+2002-07-16 Nick Clifton <nickc@cambridge.redhat.com>
+
+ * NEWS: Add 'Changes in 2.13'.
+
+2002-07-15 Matt Fredette <fredette@netbsd.org>
+
+ * config/tc-hppa.h (LABELS_WITHOUT_COLONS): Define if TE_NetBSD.
+
+2002-07-12 Alan Modra <amodra@bigpond.net.au>
+
+ * config/tc-i386.c (process_suffix): Merge CODE_64BIT JumpByte
+ case with non CODE_64BIT case. Don't warn on "qword ptr" if
+ not CODE_64BIT.
+
+2002-07-11 Alan Modra <amodra@bigpond.net.au>
+
+ * config/tc-ppc.c (ppc_elf_frob_symbol): Delete.
+ (ppc_frob_file_before_adjust): New function.
+ * config/tc-ppc.h (tc_frob_symbol): Don't define.
+ (ppc_elf_frob_symbol): Don't declare.
+ (tc_frob_file_before_adjust): Define.
+ (ppc_frob_file_before_adjust): Declare.
+
+ * config/tc-ppc.c (md_pseudo_table): Warning fix.
+ (ppc_cpu): Make it unsigned long to agree with struct powerpc_opcode
+ flags.
+ (ppc_size): Delete.
+ (ppc_xcoff64): Rename to ppc_obj64.
+ (md_parse_option <m>): Encode old ppc_size value in ppc_cpu.
+ (ppc_set_cpu): Set PPC_OPCODE_32 too.
+ (ppc_arch): Use ppc_obj64 instead of ppc_size to select bfd_mach_ppc64
+ or bfd_mach_ppc.
+ (ppc_target_format): Use ppc_obj64 to select format.
+ (md_begin): Adjust for PPC_OPCODE_32/64 in ppc_cpu.
+ (ppc_insert_operand): Use ppc_obj64 instead of ppc_size.
+ (ppc_elf_suffix): Likewise. Don't depend on BFD_DEFAULT_TARGET_SIZE.
+ (tc_frob_symbol): Likewise.
+ (md_assemble): Use ppc_obj64 instead of ppc_size. Don't depend on
+ BFD_DEFAULT_TARGET_SIZE.
+ (ppc_tc): Likewise.
+ (ppc_is_toc_sym): Likewise.
+ (md_apply_fix3): Likewise.
+ * config/tc-ppc.h (TC_FORCE_RELOCATION): Don't depend on
+ BFD_DEFAULT_TARGET_SIZE.
+ (ELF_TC_SPECIAL_SECTIONS): Likewise.
+ (tc_frob_symbol): Likewise.
+
+2002-07-09 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
+
+ * config/tc-mips.c (macro_build): Handle MIPS16 insns.
+ (mips_ip): Likewise.
+
+2002-07-09 Alan Modra <amodra@bigpond.net.au>
+
+ * config/tc-i386.c (md_pseudo_table <file>): Warning fix.
+ (BFD_RELOC_8, BFD_RELOC_8_PCREL): Define for non-BFD.
+ (md_apply_fix3): Formatting. Remove redundant test.
+ (tc_gen_reloc): Remove redundant code.
+ (tc_i386_force_relocation): Delete. Movy body of function to..
+ * config/tc-i386.h (TC_FORCE_RELOCATION): .. here.
+
+2002-07-09 Federico G. Schwindt <fgsch@olimpo.com.br>
+
+ * configure.in: Add hppa-*-openbsd* target, change
+ alpha*-*-openbsd* format to elf, and use elf for sparc-*-openbsd*
+ with sparc64 cpu.
+ * configure: Regenerate.
+
+2002-07-08 Maciej W. Rozycki <macro@ds2.pg.gda.pl>
+
+ * config/tc-mips.c (macro): Shift the 32-bit address range
+ accessible with a lone "lui" down by 32768.
+
+2002-07-08 Maciej W. Rozycki <macro@ds2.pg.gda.pl>
+
+ * config/tc-mips.c (load_address): Use non-trapping "daddu"
+ instead of "dadd" in address calculations.
+ (macro): Likewise.
+
+2002-07-08 Alan Modra <amodra@bigpond.net.au>
+
+ * config/tc-i386.c (process_suffix): Remove intel mode movsx and
+ movzx fudges.
+ (md_assemble): Instead, zap the suffix here.
+
+2002-07-03 Nick Clifton <nickc@cambridge.redhat.com>
+
+ * NEWS: Remove next release number until the release is actually
+ upon us.
+
+2002-07-03 Alan Modra <amodra@bigpond.net.au>
+
+ * Makefile.am (check-DEJAGNU): Revert 2002-06-25 change.
+ Run "make dep-am".
+ * Makefile.in: Regenerate.
+
+2002-07-02 Martin Schwidefsky <schwidefsky@de.ibm.com>
+
+ * config/tc-s390.c (tc_s390_fix_adjustable): Prevent any adjustment
+ to symbols in merge sections, even non pc-relative ones.
+
+2002-06-29 Stephane Carrez <stcarrez@nerim.fr>
+
+ * config/tc-m68hc11.h (m68hc11_listing_header): Fix warning.
+
+2002-06-29 Stephane Carrez <stcarrez@nerim.fr>
+
+ * config/tc-m68hc11.h (ELF_TC_SPECIAL_SECTIONS): New sections
+ .softregs and .eeprom.
+
+2002-06-28 David O'Brien <obrien@FreeBSD.org>
+
+ * NEWS: Note the next release is 2.13.
+
+2002-06-26 Nick Clifton <nickc@cambridge.redhat.com>
+
+ * po/tr.po: New translation imported.
+
+2002-06-26 Elias Athanasopoulos <eathan@otenet.gr>
+
+ * ecoff.c: (get_tag): Replace strcpy with xstrdup.
+ (ecoff_directive_def): Likewise.
+ (ecoff_directive_tag): Likewise.
+ * listing.c (file_info): Likewise.
+ * hash.c (what): Likewise.
+
+2002-06-25 H.J. Lu <hjl@gnu.org>
+
+ * Makefile.am (check-DEJAGNU): Set LC_ALL=C and export it.
+ * Makefile.in: Regenerated.
+
+2002-06-19 Dhananjay R. Deshpande <dhananjayd@kpit.com>
+
+ * config/tc-sh.c (get_specific): Revert 2002-05-01 change.
+ (assemble_ppi): Generate warning if the same register is used
+ twice as destination in the same padd / pmuls instruction.
+
+2002-06-18 Dave Brolley <brolley@redhat.com>
+
+ From Catherine Moore, Michael Meissner, Richard Sandiford, Dave Brolley
+ * po/POTFILES.in: Add tc-frv.c, tc-frv.h.
+ * configure.in: Support frv-*-*.
+ * Makefile.am (CPU_TYPES): Add frv.
+ (TARGET_CPU_CFILES): Add tc-frv.c.
+ (TARGET_CPU_HFILES): Add tc-frv.h.
+ (DEPTC_frv_coff): New variable.
+ (DEPTC_frv_elf): New variable.
+ (DEPOBJ_frv_coff): New variable.
+ (DEPOBJ_frv_elf): New variable.
+ (DEP_frv_coff): New variable.
+ (DEP_frv_elf): New variable.
+ * tc-frv.c: New file.
+ * tc-frv.h: New file.
+
+2002-06-17 Catherine Moore <clm@redhat.com>
+
+ * config/obj-elf.h (TARGET_SYMBOL_FIELDS): Conditionally define.
+
+2002-06-17 J"orn Rennecke <joern.rennecke@superh.com>
+
+ * config/tc-sh.c (assemble_ppi): Initialize reg_n.
+
2002-06-17 Tom Rix <trix@redhat.com>
* config/tc-i370.h (tc_comment_chars): Define for i370-elf.
* config/tc-ppc.c (ppc_subseg_align): Delete.
(ppc_change_csect): Default csect align is 2.
- * config/tc-ppc.h (SUB_SEGMENT_ALIGN): Delete
+ * config/tc-ppc.h (SUB_SEGMENT_ALIGN): Delete
2002-06-09 Marek Michalkiewicz <marekm@amelek.gda.pl>
* configure.in (vax-*-netbsdelf*, vax-*-netbsdaout*)
(vax-*-netbsd*): New targets.
* configure: Regenerate.
- * config/aout_gnu.h (enum machine_type): Add M_VAX4K_NETBSD.
+ * config/aout_gnu.h (enum machine_type): Add M_VAX4K_NETBSD.
* config/tc-vax.c: Add support for ELF and PIC.
- (flag_want_pic): New flag.
+ (flag_want_pic): New flag.
(float_cons): Fix prototype.
(md_apply_fix3): Adjust for BFD_ASSEMBLER.
(md_assemble): Introduce a new is_absolute local, and use it
rather than repeating the test. Make fatal errors actually
- fatal by using as_fatal as appropriate. Adjust for BFD_ASSEMBLER.
+ fatal by using as_fatal as appropriate. Adjust for BFD_ASSEMBLER.
Add support for ELF. Add support for PIC.
- (md_convert_frag): Adjust for BFD_ASSEMBLER.
+ (md_convert_frag): Adjust for BFD_ASSEMBLER.
(tc_aout_fix_to_chars): Only include if OBJ_AOUT and not
BFD_ASSEMBLER.
- (vax_reg_parse): Make the % register prefix mandatory for ELF,
+ (vax_reg_parse): Make the % register prefix mandatory for ELF,
optional for a.out, and not allowed for VMS. Adjust all callers.
(md_create_short_jump): Add ATTRIBUTE_UNUSED to unused arguments.
- (md_create_long_jump): Likewise.
+ (md_create_long_jump): Likewise.
(md_undefined_symbol): Likewise.
(md_section_align): Likewise.
(md_shortopts): Allow -k and -K for ELF.
Based on patch from Matt Green:
* config/obj-elf.h (ECOFF_DEBUGGING): Make configurable.
- * config/tc-mips.c (s_mips_file): Renamed from s_file.
+ * config/tc-mips.c (s_mips_file): Renamed from s_file.
(s_mips_loc): New function.
(mips_nonecoff_pseudo_table): Call them.
- (append_insn): Call dwarf2_emit_insn.
+ (append_insn): Call dwarf2_emit_insn.
2002-06-08 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
(elf_frob_file): If group name matches an exported symbol, use that
symbol for the signature and ".group" as the section name.
-Thu Jun 6 17:42:12 2002 J"orn Rennecke <joern.rennecke@superh.com>
+2002-06-06 J"orn Rennecke <joern.rennecke@superh.com>
* config/tc-sh.c (parse_at): @(symbol,pc) is A_DISP_PC again,
but warn about it.
(tc_get_register): Likewise.
2002-05-30 Chris G. Demetriou <cgd@broadcom.com>
- Ed Satterthwaite <ehs@broadcom.com>
+ Ed Satterthwaite <ehs@broadcom.com>
* config/tc-mips.c (mips_set_options): New "ase_mdmx" member.
(mips_opts): Initialize "ase_mdmx" member.
2002-05-30 Diego Novillo <dnovillo@redhat.com>
- * gas/config/tc-d10v.c (check_resource_conflict): Only check
- write-write conflicts.
- (md_assemble): Reformat introductory comment.
- (parallel_ok): Prevent packing only if the first
- instruction cannot be packed.
+ * gas/config/tc-d10v.c (check_resource_conflict): Only check
+ write-write conflicts.
+ (md_assemble): Reformat introductory comment.
+ (parallel_ok): Prevent packing only if the first
+ instruction cannot be packed.
2002-05-30 Jason Eckhardt <jle@redhat.com>
Tom Rix <trix@redhat.com>
* config/obj-coff.c (obj_coff_section): Silently ignore an 'a'
flag.
- * doc/as.texinfo: Document that the COFF version of .section
+ * doc/as.texinfo: Document that the COFF version of .section
ignores the 'a' flag.
2002-05-23 Alan Modra <amodra@bigpond.net.au>
* configure.in: Add support for powerpc-*-windiss.
* configure: Regenerated.
-
+
2002-04-28 Alan Modra <amodra@bigpond.net.au>
* config/tc-s390.c (md_parse_option): Formatting.
BFD_VERSION_STRING unavailable.
* config/tc-i386.c (INLINE): Define (for non-BFD assembler).
-Tue Apr 9 16:45:48 2002 J"orn Rennecke <joern.rennecke@superh.com>
+2002-04-09 J"orn Rennecke <joern.rennecke@superh.com>
* config/tc-sh.h (TC_FIX_ADJUSTABLE): Disable adjusting if
symbol_used_in_reloc_p is true.
check for resource conflicts.
From Jason Eckhardt <jle@redhat.com>
- * config/tc-d10v.c (build_insn): Check for unresolved imm4 or
- imm3 fields.
- * config/tc-d10v.c (find_opcode): Emit a warning if one of the
- reserved control registers is used.
- * config/tc-d10v.c (build_insn): Check for unresolved imm4 or
- imm3 fields.
+ * config/tc-d10v.c (build_insn): Check for unresolved imm4 or
+ imm3 fields.
+ * config/tc-d10v.c (find_opcode): Emit a warning if one of the
+ reserved control registers is used.
+ * config/tc-d10v.c (build_insn): Check for unresolved imm4 or
+ imm3 fields.
From 2001-03-28 Diego Novillo <dnovillo@redhat.com>
- * tc-d10v.c (parallel_ok): Prevent packing only if the first
- instruction cannot be packed.
+ * tc-d10v.c (parallel_ok): Prevent packing only if the first
+ instruction cannot be packed.
From 2001-03-30 Diego Novillo <dnovillo@redhat.com>
- * gas/config/tc-d10v.c (check_resource_conflict): Only check
- write-write conflicts.
- (md_assemble): Reformat introductory comment.
- * opcodes/d10v-opc.c (d10v_opcodes): `btsti' does not modify its
- arguments.
+ * gas/config/tc-d10v.c (check_resource_conflict): Only check
+ write-write conflicts.
+ (md_assemble): Reformat introductory comment.
+ * opcodes/d10v-opc.c (d10v_opcodes): `btsti' does not modify its
+ arguments.
2002-04-03 Alan Modra <amodra@bigpond.net.au>
2002-04-01 Jessica Han <jessica@cup.hp.com>
- * config/tc-ia64.c (ia64_cons_fix_new): Handle 8 byte iplt reloc
+ * config/tc-ia64.c (ia64_cons_fix_new): Handle 8 byte iplt reloc
in 32-bit mode.
2002-03-27 Andreas Schwab <schwab@suse.de>
2002-02-15 Chris Demetriou <cgd@broadcom.com>
- * config/tc-mips.c (md_estimate_size_before_relax): Really
+ * config/tc-mips.c (md_estimate_size_before_relax): Really
make sure we treat weak like extern only for ELF. (Fixes
patch from 2001-07-25.)
* config/tc-ppc.c (md_apply_fix3): Check for insert fop invalid for
xcoff64.
-Mon Feb 11 11:23:38 2002 Alexandre Oliva <aoliva@redhat.com>
+2002-06-11 Alexandre Oliva <aoliva@redhat.com>
* config/tc-sparc.c (U0x80000000, U0xffffffff): New constants.
Use all over.
-Mon Feb 11 12:59:29 CET 2002 Jan Hubicka <jh@suse.cz>
+2002-02-11 Jan Hubicka <jh@suse.cz>
* i386.c (md_assemble): Support 32bit address prefix.
(i386_displacement): Likewise.
2002-01-11 Richard Earnshaw <rearnsha@arm.com>
- * tc-arm.c ((do_ldst): Fix handling an immediate expression pseudo
+ * tc-arm.c (do_ldst): Fix handling an immediate expression pseudo
op that can be translated into a mvn instruction.
2002-01-11 Steve Ellcey <sje@cup.hp.com>