X-Git-Url: http://drtracing.org/?a=blobdiff_plain;f=gas%2FChangeLog;h=30124d522f142c1c219c2ab4dfc9405f1d6e99df;hb=f61dfddf2d39c72b66e18861c1959c3ec06aaee8;hp=6595dff22943cb91d747ce609dab978e47931c3f;hpb=500800ca01a6b09418ca2f5079aa3bd4f4452dfc;p=deliverable%2Fbinutils-gdb.git diff --git a/gas/ChangeLog b/gas/ChangeLog index 6595dff229..30124d522f 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,3 +1,997 @@ +2002-10-09 Richard Shann + Stephen Clarke + + * config/tc-sh64.c (sh64_target_format): Add support for sh64 + Linux environment. + +2002-10-03 Kaz Kojima + + * contig/tc-sh.c (sh_local_pcrel): New. + (sh_force_relocation): Use sh_local_pcrel. + (md_pcrel_from_section): Check the relocation type whether it + should be resolved locally. Use S_FORCE_RELOC. + +2002-10-01 Alan Modra + + * config/tc-mips.h (TC_FORCE_RELOCATION_SUB_SAME): Define. + (TC_FORCE_RELOCATION): Tidy arg. + +2002-09-30 Gavin Romig-Koch + Ken Raeburn + Aldy Hernandez + DJ Delorie + Michael Meissner + Eric Christopher + Richard Sandiford + + * doc/c-mips.texi: Add entries for -march=vr4120,vr4130,vr4181, + vr5400 and vr5500. Add entry for -mfix-vr4122-bugs. + * config/tc-mips.c (CPU_HAS_DROR, CPU_HAS_ROR): New macros. + (hilo_interlocks): True for CPU_VR5500. + (gpr_interlocks, cop_interlocks): True for CPU_VR5400 and CPU_VR5500. + (mips_fix_vr4122_bugs): New. + (append_insn): Work around 4122 errors if mips_fix_vr4122_bugs. + (mips_emit_delays): Likewise. + (macro2) [M_DROLI]: Use dror or dror32 if CPU_HAS_DROR. + [M_ROLI]: Likewise ror if CPU_HAS_ROR. + (validate_mips_insn, mips_ip): Handle '[', ']', 'e' and '%'. + (OPTION_FIX_VR4122, OPTION_NO_FIX_VR4122): New options. + (md_longopts): Add -mfix-vr4122-bugs and -no-mfix-vr4122-bugs. + (OPTION_ELF_BASE): Bump. + (md_parse_option): Handle the new options. + (mips_cpu_info_table): Add entries for vr4120, vr4130, vr4181, + vr5400 and vr5500. + +2002-09-29 H.J. Lu + + * config/tc-mips.c (md_apply_fix3): Subtract the symbol value + twice if howto->pcrel_offset is true. + +2002-09-28 Matt Thomas + Jason Thorpe + + * config/tc-vax.c (md_estimate_size_before_relax): Only try to + convert undefined references to GOT32/PLT32 if PIC code is + requested. Fix comment. + +2002-09-27 Kaz Kojima + + * config/tc-sh.c (sh_force_relocation): Return 0 for + some PC relative relocations when not relaxing. + +2002-09-26 Jakub Jelinek + + * config/tc-i386.c (tc_i386_fix_adjustable): Add x86-64 TLS relocs. + Define them if not BFD_ASSEMBLER. + (lex_got): Handle @tlsgd, @dtpoff and @tpoff in 64-bit mode, add + @tlsld. + (md_apply_fix3): No addend for BFD_RELOC_X86_64_TLSGD, + BFD_RELOC_X86_64_TLSLD and BFD_RELOC_X86_64_GOTTPOFF. + (tc_gen_reloc): Handle x86-64 TLS relocs. + +2002-09-27 Alan Modra + + * config/tc-avr.c (md_apply_fix3): Reinstate code handling pcrel + fixups to current or absolute section. + +2002-09-26 Jim Wilson + + * config/tc-v850.c (v850_offset): Use frag_var instead of frag_now_fix + and frag_more. + +2002-09-26 Thiemo Seufer + + * config/tc-mips.c (CPU_HAS_MIPS16): Add mips-lsi-elf as MIPS16 + capable configuration. + (macro_build): Check for MIPS16 capability, not for actual MIPS16 code + generation. + (mips_ip): Likewise. + +2002-09-26 Thiemo Seufer + + * config/tc-mips.c (append_insn): Fix jump overflow check. + +2002-09-24 Alan Modra + + * config/tc-i386.c (process_operands): Warn about "lea" segment + overrides. + +2002-09-22 Mark Elbrecht + + * write.c: Delete set_segment_vma and prototype. Update all callers. + +2002-09-21 Alan Modra + + * config/tc-i386.c (md_apply_fix3): Replace S_IS_EXTERNAL, + S_IS_WEAK etc. with S_FORCE_RELOC call. Correct comment. + Rename "fseg" to "sym_seg". + * Makefile.am: Run "make dep-am". + * Makefile.in: Regenerate. + * doc/Makefile.in: Regenerate. + +2002-09-20 Nick Clifton + + * symbols.c (colon): Do not allow symbols to be created in the + absolute section if WORKING_DOT_WORD is not defined and + new_broken_words would require a new frag to be created. + +2002-09-20 Alan Modra + + * expr.c (expr): Simplify foo-foo here. + (clean_up_expression): Remove O_subtract code. + + * write.h (struct fix): Add fx_dot_value. + (dot_value): Declare. + * write.c (dot_value): New var. + (fix_new_internal): Save dot_value as fx_dot_value. + (fixup_segment): Adjust fx_offset using fx_dot_value. + * expr.c (expr): Update dot_value. + +2002-09-19 Jakub Jelinek + + * config/tc-i386.c (tc_i386_fix_adjustable): Handle + BFD_RELOC_386_TLS_IE and BFD_RELOC_386_TLS_GOTIE. + (BFD_RELOC_386_TLS_IE, BFD_RELOC_386_TLS_GOTIE): Define to 0 + if not defined. + (lex_got): Handle @GOTNTPOFF and @INDNTPOFF. + (md_apply_fix3, tc_gen_reloc): Handle BFD_RELOC_386_TLS_IE and + BFD_RELOC_386_TLS_GOTIE. + +2002-09-19 Richard Henderson + + * config/tc-alpha.c (md_pcrel_from): Only adjust special for + branch type relocs. + (alpha_force_relocation): Don't special-case branch type relocs. + +2002-09-19 Nick Clifton + + * config/tc-m68k.c (select_control_regs): Handle situation where + architecture has not yet been selected. + +2002-09-18 Chris Demetriou + + * config/tc-mips.c (IS_SEXT_32BIT_NUM): Move closer to top of file. + (IS_SEXT_16BIT_NUM): New macro. + (macro_build_ldst_constoffset): New function, to build a set of + instructions to do a load or store from a constant offset relative + to a given register. + (macro, s_cprestore): Use macro_build_ldst_constoffset to implement + .cprestore pseudo-op. + +2002-09-18 Chris Demetriou + + * config/tc-mips.c (md_apply_fix3): Just return for BFD_RELOC_8. + +2002-09-18 Thiemo Seufer + + * config/tc-mips.c (s_change_section): Fix parsing. Code cleanup. + +2002-09-17 Stan Cox + + * tc-mips.c (load_address): Use BFD_RELOC_MIPS_GOT_DISP for newabi. + (macro): Likewise for la. Likewise for ld. + (mips_after_parse_args): Make -xgot optional, not the default. + (md_apply_fix3): Allow composite relocation to set up gp. + (tc_gen_reloc): Allow relaxing for newabi. + Relax R_MIPS_CALL16 to R_MIPS_GOT_PAGE/R_MIPS_GOT_OFST if local. + Relax R_MIPS_GOT16/R_MIPS_LO16 to R_MIPS_GOT_DISP if local. + +2002-09-17 Nick Clifton + + * config/tc-arm.c (md_apply_fix3): Note that an implemented + BFD_RELOC_ARM_IMMEDIATE has been done. + (tc_gen_reloc): Do not issue reloc number of unimplemented + BFD_RELOC_ARM_IMMEDIATE and BFD_RELOC_ARM_OFFSET_IMM relocs - + their name is already in the error message - plus remove them + from the default case. + + * config/tc-arm.c (do_ldmstm): Warn about unpredictable + behavior of instructions. + +2002-09-17 Svein E. Seldal + + * config/tc-tic4x.c: Add function declarations and ATTRIBUTE_UNUSED. + Convert functions to K&R format. + +2002-09-17 Thiemo Seufer + + * config/tc-mips.c (pdr_seg): Define only for ELF. + (s_change_section): Remove unused variable. Don't use for nonELF. + +2002-09-17 Thiemo Seufer + + * config/obj-elf.c (obj_elf_change_section): Move prototype to + obj-elf.h + * config/obj-elf.h (obj_elf_change_section): Likewise. + +2002-09-16 Elias Athanasopoulos + + * dwarf2dbg.c (out_debug_abbrev): Add support for the DW_AT_name field. + (out_debug_info): Likewise. + +2002-09-16 Bruno Haible + + * config/tc-i386.h (ELF_TARGET_FORMAT): New macro. + (TARGET_FORMAT): Use ELF_TARGET_FORMAT instead of "elf32-i386". + * config/tc-i386.c (i386_target_format): Likewise. + * config/tc-alpha.h (ELF_TARGET_FORMAT): New macro. + (TARGET_FORMAT): Use ELF_TARGET_FORMAT instead of "elf64-alpha". + +2002-09-13 Nick Clifton + + * config/tc-ppc.c (md_assemble): Do not count FAKE operands + when deciding if any operands have been skipped. + +2002-09-11 Nick Clifton + + * NEWS: New TI port supports both C4x and C3x series of DSPs. + + * po/tr.po: Updated Turkish translation. + +2002-09-11 Jakub Jelinek + + * 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 + + * 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 + + * 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 ): Remove. + (tc_gen_reloc): Fudge ARM_GOTPC addend. + (arm_validate_fix): Return void. + (arm_fix_adjustable ): 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 ): 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 ): 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 ): Ignore absolute + section sym. + (ppc_force_relocation ): Call S_FORCE_RELOC. + (ppc_force_relocation ): New. + (ppc_fix_adjustable ): 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 ): 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 ): 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 + + * config/tc-ppc.c (ppc_frob_symbol): Formatting, warning fix. + (ppc_fix_adjustable ): 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 + + * 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 + + * read.c (do_align): Use ATTRIBUTE_UNUSED_LABEL for label, not + ATTRIBUTE_UNUSED. + +2000-08-28 Catherine Moore + + * 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 + + * configure.in: Add tic4x-coff* and c4x-coff*-coff-coff targets. + * configure: Regenerate. + * NEWS: Mention new port. + +2002-08-28 Michael Hayes + + * 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 + + * 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 + + * 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 ): Allow subtraction + when symbol values differ. + * read.c (do_align): Add ATTRIBUTE_UNUSED to label. + (pseudo_set ): Remove unnecessary segment test. + * config/obj-bout.c (obj_pseudo_table): Warning fix. + +2002-08-26 Alan Modra + + * config/tc-w65.c (md_section_align): Fix typo. + (md_parse_option): Return 0, not 1. + +2002-08-22 Nick Clifton + + * 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 + + * config/tc-z8k.c (get_operands): Adjust ptr variable also in + "case 0" case. + +2002-08-12 Graeme Peterson + + * configure.in: Add support for sh-**-nto* target. + * configure: Regenerate. + +2002-08-21 Nitin Gupta + + * config/tc-h8300.h (TC_LINKRELAX_FIXUP): Define. + +2002-08-21 Elena Zannoni + + * 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 + + * config/tc-arc.c (md_pseudo_table ): 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 + + * config/tc-mips.c (macro2): Implement rotates by zero using shifts + by zero. + +2002-08-19 Elena Zannoni + + From matthew green + + * 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 + + * 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 + + * config/tc-v850.c (md_assemble): Fix assembling of "callt 0x3f". + +2002-08-15 Alexandre Oliva + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * config/tc-mips.c (mips_ip): Don't work out the value of + constant %hi()s here. + +2002-08-10 Alan Modra + + * 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 + + * configure.in: Add support for ppc-*-nto* target. + * configure: Regenerate. + +2002-08-09 Alan Modra + + * config/tc-i386.h: Reorganize. + +2002-08-09 Maciej W. Rozycki + + * config/tc-mips.c (macro): Handle a register plus a 16-bit + immediate offset in "dla" and "la" expansions. + +2002-08-09 Alan Modra + + * 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 + + * 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 + + * 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 + + * config/tc-ppc.c (md_apply_fix3): Adjust 16 bit XCOFF reloc offset. + +2002-08-01 Richard Sandiford + + * config/tc-mips.c (tc_gen_reloc): Extend GP-relative addend + handling to BFD_RELOC_MIPS16_GPREL. + +2002-08-01 Nick Clifton + + * 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 + Daniel Jacobowitz + + * dwarf2dbg.c (dwarf2_finish): Don't emit unreferenced + .debug_line section unless it has line information. + +2002-07-31 Ian Dall + + * 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 * NEWS: Retroactively add entry for Lars Brinkhoff's contribution @@ -35,7 +1029,7 @@ * configure.in: Add support for arm-*-nto target. * configure: Regenerate. - + 2002-07-30 Nick Clifton * config/tc-arm.c (struct literal_pool): Add fields to allow @@ -43,11 +1037,11 @@ (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 + (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 + * doc/c-arm.texi: Document new behaviour of only dumping literal pools upon request. 2002-07-26 Alan Modra @@ -1644,7 +2638,7 @@ (shmedia_md_convert_frag): Handle non-PC-relative UNDEF_MOVI and MOVI_16. (shmedia_md_estimate_size_before_relax): Remove redundant - blocks. Set fragP->fr_var even if relaxation type unchanged. + blocks. Set fragP->fr_var even if relaxation type unchanged. Retain UNDEF_MOVI until expression decays to number. 2002-01-24 Alexandre Oliva * config/tc-sh64.c (shmedia_init_reloc): Handle new SHmedia PIC @@ -1766,13 +2760,13 @@ (shmedia_frob_file_before_adjust): Ditto. (shmedia_md_apply_fix) : Cast mask to valueT to remove signedness. - (shmedia_md_convert_frag): Add parameter final. Rename parameter + (shmedia_md_convert_frag): Add parameter final. Rename parameter headers to output_bfd. Do not evaluate symbols if final is false; do emit fixups. (shmedia_md_estimate_size_before_relax) : If symbol cannot be modified to be PC-relative to the current frag, call shmedia_md_convert_frag to emit fixups - and make frag_wane neutralize the frag. Update comments. + and make frag_wane neutralize the frag. Update comments. * config/tc-sh.c (md_convert_frag): Change caller of shmedia_md_convert_frag. 2001-01-06 Hans-Peter Nilsson @@ -1784,7 +2778,7 @@ (shmedia_check_limits): Fix range check being off-by-one for PTA. * config/tc-sh.c: Ditto. Add proper comments to #ifdef/#ifndef wrappers. - (SH64PCREL16_F): Increment for proper max-PTA handling. Update + (SH64PCREL16_F): Increment for proper max-PTA handling. Update comment. (SH64PCREL16_M, MOVI_16_M): Correct range thinko. (SH64PCREL48_M, MOVI_48_M): Similar; don't count in length of @@ -1807,7 +2801,7 @@ (sh64_expand, sh64_pt32): New variables. (shmedia_init_reloc): Handle BFD_RELOC_SH_PT_16. (shmedia_md_apply_fix): Hold original fixP->fx_r_type in - orig_fx_r_type. Change SHMEDIA_BFD_RELOC_PT into + orig_fx_r_type. Change SHMEDIA_BFD_RELOC_PT into BFD_RELOC_SH_PT_16. Handle BFD_RELOC_SH_PT_16 as pc-relative. : Handle SHMEDIA_BFD_RELOC_PT and BFD_RELOC_SH_PT_16. @@ -1944,7 +2938,7 @@ (shmedia_md_pcrel_from_section): ...here. (shmedia_md_apply_fix): Handle fixups for 16-bit operands that has turned completely resolved. Adjust relocation type for 16-bit - immediate operands that has turned PC-relative. Adjust back for + immediate operands that has turned PC-relative. Adjust back for MD_PCREL_FROM_SECTION being applied twice. (shmedia_md_convert_frag): Always emit reloc for expression with global or weak symbol. Handle relaxation result for PC-relative @@ -1958,7 +2952,7 @@ (shmedia_build_Mytes): CSE &operands->operands[j] into variable opjp. : Fix typo for initial minor relaxation type of - MOVI expansion. If X_op_symbol of the immediate expression is + MOVI expansion. If X_op_symbol of the immediate expression is set, make an expression symbol for the argument to frag_var. * config/tc-sh.c (MOVI_IMM_32_PCREL, MOVI_IMM_64_PCREL): New relaxations. @@ -1982,7 +2976,7 @@ (sh64_adjust_symtab): For remaining datalabel symbols, set to undefined and set STT_DATALABEL. (sh64_frob_label): Initialize TC symbol field. - (sh64_consume_datalabel): Actually implement semantics. New + (sh64_consume_datalabel): Actually implement semantics. New parameter operandf, call it instead of expression. (sh64_exclude_symbol): New. * config/tc-sh64.h (md_parse_name): Pass on the function operand @@ -2447,7 +3441,7 @@ 2002-01-11 Richard Earnshaw - * 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