X-Git-Url: http://drtracing.org/?a=blobdiff_plain;f=gas%2FChangeLog;h=01974c194acb4ca8ccf6d8a3a671ec1c62e4d22a;hb=a161fe53205dbc69d42f5a123b2b04346724b2de;hp=e8b9b01b8388bd84d39f433e3ce24bf2c148da84;hpb=2b3c4602718d2951e30572be3c1c6dcf5defa4fb;p=deliverable%2Fbinutils-gdb.git diff --git a/gas/ChangeLog b/gas/ChangeLog index e8b9b01b83..01974c194a 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,5 +1,962 @@ +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_FORCE_RELOCATION_LOCAL): Define this instead. + (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 + of the PDP-11 and 2.11BSD a.out support. + +2002-07-31 Momchil Velikov + + * config/tc-v850.c (md_assemble): Fix range check for immediate + operand. + +2002-07-30 Chris Demetriou + + * config/tc-mips.c (mips_cpu_info_table): Clean up entries related + to Broadcom SB-1 core support. + +2002-07-31 Thiemo Seufer + + * config/tc-mips.c (mips_target_format): Fix formatting. + Add recognition of n32 ABI formats. + +2002-07-30 Maciej W. Rozycki + + * 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 + + * 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 + + * 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 + 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 + + * 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 + + * po/es.po: Updated Spanish translation. + * po/fr.po: Updated French translation. + +2002-07-25 Richard Sandiford + + * 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 + + * po/sv.po: Updated Swedish translation. + * po/es.po: Updated Spanish translation. + +2002-07-23 Alan Modra + + * 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 + + * po/fr.po: Updated French translation. + +2002-07-23 Nick Clifton + + * CONTRIBUTORS: Ken Raeburn is no longer the maintainer for + GAS. + +2002-07-19 Thiemo Seufer + + * 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 + + * config/tc-mips.c (mips_pic_level): Remove IRIX4_PIC. + +2002-07-19 Miroslav Tichy + Nick Clifton + + * 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 + Frank Ch. Eigler + Alan Lehotsky + John Healy + Jeff Johnston + + * 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 + + * NEWS: Reformat to match style of other NEWS files. + +2002-07-17 Jan Hubicka + + * tc-i386.c (i386_align_code): Implement x86_64 neutral code fillers. + +2002-07-16 Moritz Jodeit + + * config/tc-z8k.c (build_bytes): Correct order of memset args. + +2002-07-16 Nick Clifton + + * NEWS: Add 'Changes in 2.13'. + +2002-07-15 Matt Fredette + + * config/tc-hppa.h (LABELS_WITHOUT_COLONS): Define if TE_NetBSD. + +2002-07-12 Alan Modra + + * 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 + * 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. @@ -2242,7 +3199,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