aboutsummaryrefslogtreecommitdiff
path: root/gas/config
AgeCommit message (Collapse)AuthorFilesLines
2009-07-31 binutils/testsuite/Daniel Jacobowitz3-39/+243
* binutils-all/arm/thumb2-cond.s: Use instructions instead of .short. gas/ * config/obj-elf.c (obj_elf_ident): Notify section change to the hook. * config/tc-arm.c (make_mapping_symbol): New function, from mapping_state. Save mapping symbols in the frag. (insert_data_mapping_symbol): New. (mapping_state): Use make_mapping_symbol, improve state transitions. (mapping_state_2): New. Provide dummy definition. (opcode_select): Do not call mapping_state. (s_bss): Call md_elf_section_change_hook instead of mapping_state. (output_inst): Update use of tc_frag_data. (new_automatic_it_block): Call mapping_state before emitting the IT instruction. (md_assemble): Move mapping_state to just before outputting the new instruction. (arm_handle_align): Update use of tc_frag_data. Call insert_data_mapping_symbol. (arm_init_frag): Update use of tc_frag_data. Call mapping_state_2. (arm_elf_change_section): Always update the mapping symbol FSM state. (check_mapping_symbols): New function. (arm_adjust_symtab): Use check_mapping_symbols. * config/tc-arm.h (struct arm_frag_type): New. (TC_FRAG_TYPE): Change to struct arm_frag_type. (TC_FRAG_INIT): Pass max_chars. (arm_init_frag): Update prototype. gas/testsuite/ * gas/arm/mapdir.d, gas/arm/mapdir.s: New files. * gas/arm/mapping.d: Adapted to new symbols generation. * gas/arm/mapping2.d: New test case. * gas/arm/mapping2.s: New file. * gas/arm/mapping3.d: New test case. * gas/arm/mapping3.s: New file. * gas/arm/mapping4.d: New test case. * gas/arm/mapping4.s: New file. * gas/arm/mapshort-eabi.d: Adapted to new symbols generation. * gas/elf/section2.e-armeabi: Adapted to new symbols generation.
2009-07-29 PR ld/10269Alan Modra2-11/+1
* symbols.c (S_FORCE_RELOC): True for BSF_GNU_INDIRECT_FUNCTION. * config/tc-i386.c: Revert 2009-06-13 change. * config/tc-i386.h: Likewise.
2009-07-27 * config/tc-m68k.c (mcf5221x_ctrl): New.Maxim Kuvyrkov1-0/+6
(m68k_cpu): Add line for MCF5221x.
2009-07-27 * config/tc-m68k.c (mcf52235_ctrl): Remove non-existent CACR, ACR[01].Maxim Kuvyrkov1-2/+2
(mcf53017_ctrl): Fix RAMBAR.
2009-07-27gas/Jan Beulich1-0/+11
2009-07-27 Jan Beulich <jbeulich@novell.com> * obj-elf.c (elf_file_symbol): Replace symbol name set up by symbol_new() with the passed in, unmodified one. gas/testsuite/ 2009-07-27 Jan Beulich <jbeulich@novell.com> * gas/elf/file.[ds]: New. * gas/elf/elf.exp: Run new test.
2009-07-272009-07-27 M R Swami Reddy <MR.Swami.Reddy@nsc.com>M R Swami Reddy1-26/+46
* config/tc-cr16.c (md_apply_fix): Put the addend value alone in to object file without symbol values. (tc_gen_reloc): For local symbols resolved or its absolute symbol, then set the relocation type as NULL.
2009-07-25bfd/H.J. Lu2-7/+76
2009-07-25 H.J. Lu <hongjiu.lu@intel.com> * archures.c (bfd_architecture): Add bfd_arch_l1om. (bfd_l1om_arch): New. (bfd_archures_list): Add &bfd_l1om_arch. * bfd-in2.h: Regenerated. * config.bfd (targ64_selvecs): Add bfd_elf64_l1om_vec if bfd_elf64_x86_64_vec is supported. Add bfd_elf64_l1om_freebsd_vec if bfd_elf64_x86_64_freebsd_vec is supported. (targ_selvecs): Likewise. * configure.in: Support bfd_elf64_l1om_vec and bfd_elf64_l1om_freebsd_vec. * configure: Regenerated. * cpu-l1om.c: New. * elf64-x86-64.c (elf64_l1om_elf_object_p): New. (bfd_elf64_l1om_vec): Likewise. (bfd_elf64_l1om_freebsd_vec): Likewise. * Makefile.am (ALL_MACHINES): Add cpu-l1om.lo. (ALL_MACHINES_CFILES): Add cpu-l1om.c. * Makefile.in: Regenerated. * targets.c (bfd_elf64_l1om_vec): New. (bfd_elf64_l1om_freebsd_vec): Likewise. (_bfd_target_vector): Add bfd_elf64_l1om_vec and bfd_elf64_l1om_freebsd_vec. binutils/ 2009-07-25 H.J. Lu <hongjiu.lu@intel.com> * readelf.c (guess_is_rela): Handle EM_L1OM. (dump_relocations): Likewise. (get_machine_name): Likewise. (get_section_type_name): Likewise. (get_elf_section_flags): Likewise. (get_symbol_index_type): Likewise. (is_32bit_abs_reloc): Likewise. (is_32bit_pcrel_reloc): Likewise. (is_64bit_abs_reloc): Likewise. (is_64bit_pcrel_reloc): Likewise. (is_none_reloc): Likewise. gas/ 2009-07-25 H.J. Lu <hongjiu.lu@intel.com> * config/tc-i386.c (cpu_arch): Add l1om. (check_cpu_arch_compatible): New. (set_cpu_arch): Use it. (i386_arch): New. (i386_mach): Return bfd_mach_l1om for Intel L1OM. (md_show_usage): Display l1om. (i386_target_format): Return ELF_TARGET_L1OM_FORMAT if cpu_arch_isa_flags.bitfield.cpul1om is set. * config/tc-i386.h (TARGET_ARCH): Use (i386_arch ()). (i386_arch): New. (ELF_TARGET_L1OM_FORMAT): Likewise. * doc/c-i386.texi: Document l1om. gas/testsuite/ 2009-07-25 H.J. Lu <hongjiu.lu@intel.com> * gas/i386/l1om.d: New. * gas/i386/l1om-inval.l: Likewise. * gas/i386/l1om-inval.s: Likewise. * gas/i386/i386.exp: Run l1om-inval and l1om. include/elf/ 2009-07-25 H.J. Lu <hongjiu.lu@intel.com> * common.h (EM_L1OM): New. ld/ 2009-07-25 H.J. Lu <hongjiu.lu@intel.com> * configure.tgt (targ64_extra_emuls): Add elf_l1om if elf_x86_64 is supported. Add elf_l1om_fbsd if elf_x86_64_fbsd is supported. (targ_extra_emuls): Likewise. * Makefile.am (ALL_64_EMULATIONS): Add eelf_l1om.o and eelf_l1om_fbsd.o (eelf_l1om.c): New. (eelf_l1om_fbsd.c): Likewise. * Makefile.in: Regenerated. * emulparams/elf_l1om.sh: New. * emulparams/elf_l1om_fbsd.sh: Likewise. ld/testsuite/ 2009-07-25 H.J. Lu <hongjiu.lu@intel.com> * ld-x86-64/abs-l1om.d: New. * ld-x86-64/protected2-l1om.d: Likewise. * ld-x86-64/protected3-l1om.d: Likewise. * ld-x86-64/x86-64.exp: Run abs-l1om, protected2-l1om and protected3-l1om. opcodes/ 2009-07-25 H.J. Lu <hongjiu.lu@intel.com> * configure.in: Handle bfd_l1om_arch. * disassemble.c (disassembler): Likewise. * configure: Regenerated. * i386-dis.c (print_insn): Handle bfd_mach_l1om and bfd_mach_l1om_intel_syntax. Use 8 bytes per line for Intel L1OM. * i386-gen.c (cpu_flag_init): Set CPU_UNKNOWN_FLAGS to ~CpuL1OM. Add CPU_L1OM_FLAGS. (cpu_flags): Add CpuL1OM. (set_bitfield): Take an argument to set the value field. (process_i386_cpu_flag): Support ~CpuXXX and ~(CpuXXX|CpuYYY). (process_i386_opcode_modifier): Updated. (process_i386_operand_type): Likewise. * i386-init.h: Regenerated. * i386-tbl.h: Likewise. * i386-opc.h (CpuL1OM): New. (CpuXsave): Updated. (i386_cpu_flags): Add cpul1om.
2009-07-242009-07-24 Roland McGrath <roland@redhat.com>Roland McGrath1-2/+4
* config/obj-elf.c (obj_elf_ident): Set SEC_MERGE | SEC_STRINGS flags on .comment section.
2009-07-24include/elf/Trevor Smigiel2-2/+5
* spu.h (R_SPU_ADD_PIC): New. bfd/ * reloc.c (BFD_RELOC_SPU_ADD_PIC): Define. * bfd-in2.h: Regenerate. * libbfd.h: Regenerate. * elf32-spu.c (elf_howto_table): Add entries SPU_ADD_PIC. (spu_elf_bfd_to_reloc_type): Handle SPU_ADD_PIC. (spu_elf_relocate_section): Patch instructions marked by SPU_ADD_PIC. gas/ * config/tc-spu.c (md_apply_fix): Handle SPU_ADD_PIC. * config/tc-spu.h (tc_fix_adjustable): Don't adjust for SPU_ADD_PIC. (TC_FORCE_RELOCATION): Emit relocs for SPU_ADD_PIC. ld/testsuite/ * ld-spu/pic.d: New. * ld-spu/pic.s: New. * ld-spu/picdef.s: New.
2009-07-24gas/Jan Beulich1-6/+54
2009-07-24 Jan Beulich <jbeulich@novell.com> * tc-i386.c (cpu_arch): Add .8087, .287, .387, .no87, .nommx, .nosse, and .noavx. (cpu_flags_and_not): New. (set_cpu_arch): Check whether sub-architecture specified is a feature disable. (md_parse_option): Likewise. (parse_real_register): Don't return floating point register when x87 functionality is disabled. (md_show_usage): Add new sub-options. * doc/c-i386.texi: Update with new command line sub-options. gas/testsuite/ 2009-07-24 Jan Beulich <jbeulich@novell.com> * gas/i386/8087.[ds]: New. * gas/i386/287.[ds]: New. * gas/i386/387.[ds]: New. * gas/i386/no87.[ls]: New. * gas/i386/no87-2.[ls]: New. * gas/i386/i386.exp: Run new tests. * gas/i386/att-regs.s: Also check FPU register access. * gas/i386/intel-regs.s: Likewise. * gas/i386/att-regs.d: Adjust expectations. * gas/i386/intel-regs.d: Likewise. opcodes/ 2009-07-24 Jan Beulich <jbeulich@novell.com> * i386-dis.c (fgrps): Correct annotation for feni/fdisi. Add frstpm. * i386-gen.c (cpu_flag_init): Add FP enabling flags where needed. (cpu_flags): Add Cpu8087, Cpu287, Cpu387, Cpu687, and CpuFISTTP. (set_bitfield): Expand CpuFP to Cpu8087|Cpu287|Cpu387. * i386-opc.h (Cpu8087, Cpu287, Cpu387, Cpu687, CpuFISTTP): Define. (union i386_cpu_flags): Add cpu8087, cpu287, cpu387, cpu687, and cpufisttp. * i386-opc.tbl: Qualify floating point instructions by their respective CpuXXX flag. Fix fucom{,p,pp}, fprem1, fsin, fcos, and fsincos to be avilable only on 387. Fix fstsw ax to be available only on 287+. Add f{,n}eni, f{,n}disi, f{,n}setpm, and frstpm. * i386-init.h, i386-tbl.h: Regenerate.
2009-07-24 PR 10437Nick Clifton34-376/+375
* config/tc-alpha.c: Fix up uses of gas printf like functions so that the format string is a constant string. Add translation support to message strings. * config/tc-arc.c: Likewise. * config/tc-arm.c: Likewise. * config/tc-cris.c: Likewise. * config/tc-fr30.c: Likewise. * config/tc-frv.c: Likewise. * config/tc-h8300.c: Likewise. * config/tc-hppa.c: Likewise. * config/tc-i370.c: Likewise. * config/tc-i960.c: Likewise. * config/tc-ia64.c: Likewise. * config/tc-m32r.c: Likewise. * config/tc-mep.c: Likewise. * config/tc-mips.c: Likewise. * config/tc-moxie.c: Likewise. * config/tc-msp430.c: Likewise. * config/tc-openrisc.c: Likewise. * config/tc-pdp11.c: Likewise. * config/tc-pj.c: Likewise. * config/tc-s390.c: Likewise. * config/tc-sh.c: Likewise. * config/tc-sh64.c: Likewise. * config/tc-sparc.c: Likewise. * config/tc-spu.c: Likewise. * config/tc-tic30.c: Likewise. * config/tc-tic4x.c: Likewise. * config/tc-tic54x.c: Likewise. * config/tc-v850.c: Likewise. * config/tc-xc16x.c: Likewise. * config/tc-xstormy16.c: Likewise. * config/tc-z80.c: Likewise. * config/tc-z8k.c: Likewise. * config/atof-ieee.c: Add translation support to as_warn messages. * config/obj-coff.c: Likewise.
2009-07-23 * config/obj-elf.c (obj_elf_type): Add code to support a type ofNick Clifton1-2/+14
gnu_unique_object. * doc/as.texinfo: Document new feature of .type directive. * NEWS: Mention support for gnu_unique_object symbol type. * common.h (STB_GNU_UNIQUE): Define. * NEWS: Mention the linker's support for symbols with a binding of STB_GNU_UNIQUE. * gas/elf/type.s: Add unique global symbol definition. * gas/elf/type.e: Add expected readelf output for global unique symbol. * elfcpp.h (enum STB): Add STB_GNU_UNIQUE. * readelf.c (get_symbol_binding): For Linux targeted files return UNIQUE for symbols with the STB_GNU_UNIQUE binding. * doc/binutils.texi: Document the meaning of the 'u' symbol binding in the output of nm and objdump --syms. * elf-bfd.h (struct elf_link_hash_entry): Add unique_global field. * elf.c (swap_out_syms): Set binding to STB_GNU_UNIQUE for symbols with the BSF_GNU_UNIQUE flag bit set. * elfcode.h (elf_slurp_symbol_table): Set the BSF_GNU_UNIQUE flag for symbols with STB_GNU_UNIQUE binding. * elflink.c (_bfd_elf_merge_symbol): Set unique_global for symbols with the STB_GNU_UNIQUE binding. (elf_link_add_object_symbols): Set the BSF_GNU_UNIQUE flag for symbols with STB_GNU_UNIQUE binding. Set STB_GNU_UNIQUE for symbols with the unique_global field set. (elf_link_output_extsym): Set unique_global field for symbols with the STB_GNU_UNIQUE binding. * syms.c (struct bfd_symbol): Define BSF_GNU_UNIQUE flag bit. (bfd_print_symbol_vandf): Print a 'u' character for BSF_GNU_UNIQUE symbols. (bfd_decode_symclass): Return a 'u' character for BSF_GNU_UNIQUE symbols. * bfd-in2.h: Regenerate.
2009-07-23Oops - forgot to commit this part of a previous delta:Nick Clifton1-2/+9
* config/tc-arm.c (arm_frag_align_code): Replace hard coded constant with MAX_MEM_FOR_RS_ALIGN_CODE.
2009-07-21gas/H.J. Lu1-2/+11
2009-07-21 H.J. Lu <hongjiu.lu@intel.com> PR gas/10420 * config/tc-i386.c (i386_align_code): Tune for 32bit nops in 64bit. (i386_target_format): Set cpu_arch_isa_flags.bitfield.cpulm for 64bit. gas/testsuite/ 2009-07-21 H.J. Lu <hongjiu.lu@intel.com> PR gas/10420 * gas/i386/i386.exp: Run x86-64-nops-1-pentium. * gas/i386/x86-64-nops-1-pentium.d: New.
2009-07-172009-07-17 H.J. Lu <hongjiu.lu@intel.com>H.J. Lu1-9/+16
* config/tc-i386.c (md_assemble): Update operand types. (update_imm): Updated. (finalize_imm): Update the first 2 immediate operands only for instructions with 2 operands or more.
2009-07-172009-07-17 H.J. Lu <hongjiu.lu@intel.com>H.J. Lu1-6/+9
* config/tc-i386.c (md_assemble): Check implicit registers only for instructions with 3 operands or less.
2009-07-17 * config/tc-avr.c (md_apply_fix): Cast fixup reloc type to avoidNick Clifton1-1/+1
compile time warning.
2009-07-16gas/H.J. Lu1-2/+4
2009-07-16 H.J. Lu <hongjiu.lu@intel.com> * config/tc-i386.c (md_assemble): Only check i.operands for AX. (md_estimate_size_before_relax): Don't relax IFUNC symbols. gas/testsuite/ 2009-07-16 H.J. Lu <hongjiu.lu@intel.com> * gas/i386/i386.exp: Run ifunc and x86-64-ifunc. * gas/i386/ifunc.d: New, * gas/i386/ifunc.s: Likewise. * gas/i386/x86-64-ifunc.d: Likewise.
2009-07-16 gas/Nathan Sidwell1-1/+8
* config/tc-arm.c (md_apply_fix <BFD_RELOC_ARM_TARGET2>): Write the offset for REL targets here. gas/testsuite/ * gas/arm/target-reloc-1.s: New. * gas/arm/target-reloc-1.d: New. ld/testsuite/ * ld-arm/arm-target2.s: Add addend cases. * ld-arm/arm-target2-rel.d: Adjust. * ld-arm/arm-target2-abs.d: Adjust. * ld-arm/arm-target2-got-rel.d: Adjust.
2009-07-14 * config/tc-arm.h (MAX_MEM_ALIGNMENT_BYTES): Define.Nick Clifton1-1/+2
(MAX_MEM_FOR_RS_ALIGN_CODE): Define in terms of MAX_MEM_ALIGNMENT_BYTES. * config/tc-arm.c (arm_frag_align_code): Replace hard coded constant with MAX_MEM_FOR_RS_ALIGN_CODE. * gas/arm/align64.s: New test case. * gas/arm/align64.d: Expected disassembly.
2009-07-14 PR 10387Nick Clifton1-12/+14
* config/tc-arm.h (THUMB_IS_FUNC): Handle a NULL pointer. (ARM_IS_FUNC): Likewise.
2009-07-14 gas/Nick Clifton1-6/+17
* config/tc-arm.c (md_assemble): Added validation. gas/testsuite * gas/arm/thumb-w-bad.d: New test case. * gas/arm/thumb-w-bad.l: New file. * gas/arm/thumb-w-bad.s: New file. * gas/arm/thumb-w-good.d: New test case. * gas/arm/thumb-w-good.s: New file.
2009-07-09 * config/tc-arm.c (it_fsm_post_encode): New forward declaration.Nick Clifton1-273/+452
(set_it_insn_type_nonvoid): New macro. (emit_thumb32_expr): New function. (thumb_insn_size): New function. (emit_insn): New function. (s_arm_elf_inst): New function. (md_pseudo_table): New pseudo-opcode entries added. * doc/c-arm.texi: New directive added. * gas/arm/inst-po.d: New testcase. * gas/arm/inst-po.s: New file. * gas/arm/inst-po-2.d: New testcase. * gas/arm/inst-po-2.s: New file. * gas/arm/inst-po-2.l: New file. * gas/arm/inst-po-3.d: New testcase. * gas/arm/inst-po-3.s: New file. * gas/arm/inst-po-be.d: New testcase.
2009-07-07* config/tc-mep.c (md_begin): Don't reset the coprocessor optionsDJ Delorie1-1/+21
when enabling other options without a specific configuration.
2009-07-07gas/Nick Clifton1-3/+3
* config/tc-arm.c (insns): Fix encoding for torvsc. gas/testsuite/ * gas/arm/iwmmxt2.d: Fix insn pattern for torvsc, add patterns for waddsubhx. * gas/arm/iwmmxt2.s: Add tests for waddsubhx. opcodes/ * arm-dis.c (coprocessor_opcodes): Fix mask for waddbhus.
2009-07-06<gas changes>Dwarakanath Rajagopal1-25/+45
2009-07-06 Dwarakanath Rajagopal <dwarak.rajagopal@amd.com> * config/tc-i386.c (cpu_arch): Add .fma4 and CPU_FMA4_FLAGS. (build_modrm_byte): Add support to handle FMA4 instructions. (md_show_usage): Add fma4. <gas/testsuite changes> 2009-07-06 Dwarakanath Rajagopal <dwarak.rajagopal@amd.com> * gas/i386/i386.exp: Add FMA4 tests. * gas/i386/x86-64-fma4.d: Ditto. * gas/i386/fma4.d: Ditto. * gas/i386/x86-64-fma4.s: Ditto. * gas/i386/fma4.s: Ditto. <opcodes changes> 2009-07-06 Dwarakanath Rajagopal <dwarak.rajagopal@amd.com> * i386-opc.h (CpuFMA4): Add CpuFMA4. (i386_cpu_flags): New. * i386-gen.c: Add CPU_FMA4_FLAGS. * i386-opc.tbl: Add FMA4 instructions. * i386-tbl.h: Regenerate. * i386-init.h: Regenerate. * i386-dis.c (OP_VEX_FMA): New. Handle FMA4. (OP_XMM_VexW): Ditto. (OP_EX_VexW): Ditto. (VEXI4_Fixup): Ditto. (VexI4, VexFMA, Vex128FMA, EXVexW, EXdVexW, XMVexW): New Macros. (PREFIX_VEX_3A5C, PREFIX_VEX_3A5D, PREFIX_VEX_3A5E): New. (PREFIX_VEX_3A5F, PREFIX_VEX_3A60): New. (PREFIX_VEX_3A68, PREFIX_VEX_3A69, PREFIX_VEX_3A6A): New. (PREFIX_VEX_3A6B, PREFIX_VEX_3A6C, PREFIX_VEX_3A6D): New. (PREFIX_VEX_3A6E, PREFIX_VEX_3A6F, PREFIX_VEX_3A7A): New. (PREFIX_VEX_3A7B, PREFIX_VEX_3A7C, PREFIX_VEX_3A7D): New. (PREFIX_VEX_3A7E, PREFIX_VEX_3A7F): New. (VEX_LEN_3A6A_P_2,VEX_LEN_3A6B_P_2, VEX_LEN_3A6E_P_2): New. (VEX_LEN_3A6F_P_2,VEX_LEN_3A7A_P_2, VEX_LEN_3A7B_P_2): New. (VEX_LEN_3A7E_P_2,VEX_LEN_3A7F_P_2): New. (get_vex_imm8): New. handle FMA4. (OP_EX_VexReg): Ditto.
2009-07-04 * config/tc-cr16.h (TC_LINKRELAX_FIXUP): Set only for code sections.Alan Modra1-3/+4
2009-07-022009-07-02 Tristan Gingold <gingold@adacore.com>Tristan Gingold4-2/+102
* Makefile.am (OBJ_FORMATS): Add macho. (CPU_OBJ_VALID): Ditto. (OBJ_FORMAT_CFILES): Add config/obj-macho.c (OBJ_FORMAT_HFILES): Add config/obj-macho.h (obj-macho.o): New rule. * Makefile.in: Regenerated. * configure.tgt (generic_target): Add i386-*-darwin*. * config/tc-i386.h: Use i386_target_format for Mach-O. * config/tc-i386.c (i386_target_format): Define it for Mach-O. (i386_target_format): Add a case for bfd_target_mach_o_flavour. * config/obj-macho.h: New file. * config/obj-macho.c: New file.
2009-07-01 PR 10168Nick Clifton1-1/+10
* config/tc-arm.c (do_t_pkhtb): Swap Rm and Rn when encoding as PKHBT. * gas/arm/thumb32.d: Fix expected disassembly of PKHTB insn.
2009-07-012009-07-01 Paul Brook <paul@codesourcery.com>Paul Brook1-0/+42
gas/ * config/tc-arm.c (MISSING_FNSTART): Define. (s_arm_unwind_fnstart): Diagnose duplicate directive. (s_arm_unwind_handlerdata, s_arm_unwind_fnend, s_arm_unwind_fnend, s_arm_unwind_cantunwind, s_arm_unwind_personalityindex, s_arm_unwind_personality, s_arm_unwind_save, s_arm_unwind_movsp, s_arm_unwind_pad, s_arm_unwind_setfp, s_arm_unwind_raw): Error if not inside function unwinding region. gas/testsuite/ * gas/arm/fp-save.s: Add .fnstart and .fnend directives.
2009-06-292009-06-29 H.J. Lu <hongjiu.lu@intel.com>H.J. Lu1-132/+133
* config/tc-i386.c: Reformat.
2009-06-24* config/tc-mep.c (mep_check_ivc2_scheduling): For IVC2, allocateDJ Delorie2-14/+65
32 bits for relaxable branches so that we can relax them later. (md_estimate_size_before_relax): Assume IVC2 branches will be relaxed. (mep_relax_frag): New. (md_convert_frag): Relax IVC2 branches in-place. * config/tc-mep.h ((mep_relax_frag): New.
2009-06-22 * gas/app, gas/as.c, gas/as.h, gas/atof-generic.c, gas/cgen.c,Nick Clifton47-440/+431
gas/config/atof-ieee.c, gas/config/obj-aout.c, gas/config/obj-coff.c, gas/config/obj-ecoff.c, gas/config/obj-elf.c, gas/config/obj-som.c, gas/config/tc-alpha.c, gas/config/tc-arc.c, gas/config/tc-arm.c, gas/config/tc-cr16.c, gas/config/tc-cris.c, gas/config/tc-crx.c, gas/config/tc-d30v.c, gas/config/tc-dlx.c, gas/config/tc-hppa.c, gas/config/tc-i370.c, gas/config/tc-i386-intel.c, gas/config/tc-i386.c, gas/config/tc-i860.c, gas/config/tc-i960.c, gas/config/tc-ia64.c, gas/config/tc-iq2000.c, gas/config/tc-m32c.c, gas/config/tc-m32r.c, gas/config/tc-m68hc11.c, gas/config/tc-m68k.c, gas/config/tc-maxq.c, gas/config/tc-mcore.c, gas/config/tc-mep.c, gas/config/tc-mips.c, gas/config/tc-mmix.c, gas/config/tc-mn10300.c, gas/config/tc-moxie.c, gas/config/tc-ns32k.c, gas/config/tc-pj.c, gas/config/tc-ppc.c, gas/config/tc-s390.c, gas/config/tc-score.c, gas/config/tc-score7.c, gas/config/tc-sh.c, gas/config/tc-sparc.c, gas/config/tc-spu.c, gas/config/tc-tic30.c, gas/config/tc-vax.c, gas/config/tc-xtensa.c, gas/config/xtensa-relax.c, gas/dw2gencfi.c, gas/dwarf2dbg.c, gas/ehopt.c, gas/expr.c, gas/frags.c, gas/input-file.c, gas/read.c, gas/sb.c, gas/subsegs.c, gas/symbols.c, gas/write.c: Change the name of the gas macro `assert' to `gas_assert'.
2009-06-22 * config/tc-arm.c (implicit_it_mode): New enum.Nick Clifton2-225/+734
(implicit_it_mode): New global. (it_instruction_type): New enum. (arm_parse_it_mode): New function. (arm_long_opts): New option added. (arm_it): New field. (it_state): New enum. (now_it): New macro. (check_it_blocks_finished): New function. (insns[]): Use the IT Thumb opcodes for ARM too. (arm_cleanup): Call check_it_blocks_finished. (now_it_compatible): New function. (conditional_insn): New function. (set_it_insn_type): New macro. (set_it_insn_type_last): New macro. (do_it): Call automatic IT machinery functions. (do_t_add_sub): Likewise (do_t_arit3): Likewise. (do_t_arit3c): Likewise. (do_t_blx): Likewise. (do_t_branch): Likewise. (do_t_bkpt): Likewise. (do_t_branch23): Likewise. (do_t_bx): Likewise. (do_t_bxj): Likewise. (do_t_cps): Likewise. (do_t_cpsi): Likewise. (do_t_cbz): Likewise. (do_t_it): Likewise. (encode_thumb2_ldmstm): Likewise. (do_t_ldst): Likewise. (do_t_mov_cmp): Likewise. (do_t_mvn_tst): Likewise. (do_t_mul): Likewise. (do_t_neg): Likewise. (do_t_setend): Likewise. (do_t_shift): Likewise. (do_t_tb): Likewise. (output_it_inst): New function. (new_automatic_it_block): New function. (close_automatic_it_block): New function. (now_it_add_mask): New function. (it_fsm_pre_encode): New function. (handle_it_state): New function. (it_fsm_post_encode): New function. (force_automatic_it_block_close): New function. (in_it_block): New function. (md_assemble): Call automatic IT block machinery functions. (arm_frob_label): Likewise. (arm_opts): New element. * config/tc-arm.h (it_state): New enum. (current_it): New struct. (arm_segment_info_type): New member added. * doc/c-arm.texi: New option -mimplicit-it documented. * gas/arm/arm-it-auto.d: New test. * gas/arm/arm-it-auto.s: New file. * gas/arm/arm-it-auto-2.d: New test case. * gas/arm/arm-it-auto-2.s: New file. * gas/arm/arm-it-auto-3.d: New test case. * gas/arm/arm-it-auto-3.s: New file. * gas/arm/arm-it-bad.d: New test case. * gas/arm/arm-it-bad.l: New file. * gas/arm/arm-it-bad.s: New file. * gas/arm/arm-it-bad-2.d: New test case. * gas/arm/arm-it-bad-2.l: New file. * gas/arm/arm-it-bad-2.s: New file. * gas/arm/arm-it-bad-3.d: New test case. * gas/arm/arm-it-bad-3.l: New file. * gas/arm/arm-it-bad-3.s: New file. * gas/arm/thumb2_it_auto.d: New test. * gas/arm/thumb2_it_bad.l: Error message updated. * gas/arm/thumb2_it_bad_auto.d: New test. * gas/arm/thumb2_it.d: Comment added. * gas/arm/thumb2_it_bad.d: Comment added.
2009-06-19 * config/tc-s390.c (md_gather_operands): Accept an instructionMartin Schwidefsky1-1/+18
without operands if all operands are tagged as optional.
2009-06-18 PR 10169Nick Clifton1-33/+21
* gas/tc-arm.c (do_t_ssat): Move common code from here... (do_t_usat): ... and here to... (do_t_ssat_usat): New function: ... here. Add code to check that the shift value, if present, is in range. * gas/arm/thumb2_bad_reg.s: Add tests for SSAT and USAT with an out of range shift. * gas/arm/thumb2_bad_reg.l: Update expected error messages.
2009-06-16bfd/Maciej W. Rozycki1-16/+13
* elf32-vax.c (elf_vax_check_relocs): Handle the visibility attribute. (elf_vax_relocate_section): Likewise. gas/ * config/tc-vax.c (md_estimate_size_before_relax): Accept indirect symbol references in the PIC mode and emit a PC-relative relocation instead of a GOT/PLT one. Likewise for symbols known to be hidden at this point.
2009-06-15 PR 10186Nick Clifton1-1/+1
* arm-dis.c (thumb32_opcodes): Fix binary value of SEV.W instruction. * gas/arm/thumb32.d: Fix expected binary value of SEV.W instruction. * config/tc-arm.c (T16_32_TAB): Fix binary value of SEV.W instruction.
2009-06-14bfd/H.J. Lu2-1/+7
2009-06-13 H.J. Lu <hongjiu.lu@intel.com> PR ld/10269 * elf32-i386.c: Include "objalloc.h" and "hashtab.h". (elf_i386_link_hash_table): Add loc_hash_table and loc_hash_memory. (elf_i386_local_hash): New. (elf_i386_local_htab_hash): Likewise. (elf_i386_local_htab_eq): Likewise. (elf_i386_get_local_sym_hash): Likewise. (elf_i386_link_hash_table_free): Likewise. (elf_i386_allocate_local_dynrelocs): Likewise. (elf_i386_finish_local_dynamic_symbol): Likewise. (bfd_elf64_bfd_link_hash_table_free): Likewise. (elf_i386_link_hash_table_create): Create loc_hash_table and loc_hash_memory. (elf_i386_check_relocs): Handle local STT_GNU_IFUNC symbols. (elf_i386_size_dynamic_sections): Likewise. (elf_i386_relocate_section): Likewise. (elf_i386_finish_dynamic_sections): Likewise. (elf_i386_finish_dynamic_symbol): Check _DYNAMIC only if sym isn't NULL. * elf64-x86-64.c: Include "objalloc.h" and "hashtab.h". (elf64_x86_64_link_hash_table): Add loc_hash_table and loc_hash_memory. (elf64_x86_64_local_hash): New. (elf64_x86_64_local_htab_hash): Likewise. (elf64_x86_64_local_htab_eq): Likewise. (elf64_x86_64_get_local_sym_hash): Likewise. (elf64_x86_64_link_hash_table_free): Likewise. (elf64_x86_64_allocate_local_dynrelocs): Likewise. (elf64_x86_64_finish_local_dynamic_symbol): Likewise. (bfd_elf64_bfd_link_hash_table_free): Likewise. (elf64_x86_64_link_hash_table_create): Create loc_hash_table and loc_hash_memory. (elf64_x86_64_check_relocs): Handle local STT_GNU_IFUNC symbols. (elf64_x86_64_size_dynamic_sections): Likewise. (elf64_x86_64_relocate_section): Likewise. (elf64_x86_64_finish_dynamic_sections): Likewise. (elf64_x86_64_finish_dynamic_symbol): Check _DYNAMIC only if sym isn't NULL. gas/ 2009-06-13 H.J. Lu <hongjiu.lu@intel.com> PR ld/10269 * config/tc-i386.c (md_apply_fix): Use TC_FORCE_RELOCATION instead of generic_force_reloc. * config/tc-i386.h (TC_FORCE_RELOCATION): New. ld/testsuite/ 2009-06-13 H.J. Lu <hongjiu.lu@intel.com> PR ld/10269 *: ld-ifunc/ifunc-1-local-x86.d: New. *: ld-ifunc/ifunc-1-local-x86.s: Likewise. *: ld-ifunc/ifunc-2-local-i386.d: Likewise. *: ld-ifunc/ifunc-2-local-i386.s: Likewise. *: ld-ifunc/ifunc-2-local-x86-64.d: Likewise. *: ld-ifunc/ifunc-2-local-x86-64.s: Likewise. *: ld-ifunc/ifunc-4-local-x86.d: Likewise. *: ld-ifunc/ifunc-4-local-x86.s: Likewise. *: ld-ifunc/ifunc-5-local-i386.s: Likewise. *: ld-ifunc/ifunc-5-local-x86-64.s: Likewise. *: ld-ifunc/ifunc-5a-local-i386.d: Likewise. *: ld-ifunc/ifunc-5a-local-x86-64.d: Likewise. *: ld-ifunc/ifunc-5b-local-i386.d: Likewise. *: ld-ifunc/ifunc-5b-local-x86-64.d: Likewise.
2009-06-11Add PC-relative branch instructions to moxie port.Anthony Green1-4/+56
2009-06-10Handle MOXIE_F1_M opcodes.Anthony Green1-0/+1
2009-06-08 PR gas/977Dave Korn1-1/+25
* config/tc-i386.c (md_estimate_size_before_relax): Don't relax branches to weak symbols. (md_apply_fix): Don't convert fixes against weak symbols to section-relative offsets, but save addend for later reloc emission. (tc_gen_reloc): When emitting reloc against weak symbol, adjust addend to pre-compensate for bfd_install_relocation.
2009-06-01gas/H.J. Lu1-0/+5
2009-06-01 H.J. Lu <hongjiu.lu@intel.com> PR gas/10198 * config/tc-i386-intel.c (i386_intel_operand): Check '$' as '.'. gas/testsuite/ 2009-06-01 H.J. Lu <hongjiu.lu@intel.com> PR gas/10198 * gas/i386/jump.s: Add test for "jmp $+2". * gas/i386/jump16.s: Likewise. * gas/i386/jump.d: Updated. * gas/i386/jump16.d: Likewise.
2009-05-272009-05-26 Catherine Moore <clm@codesourcery.com>Catherine Moore1-104/+21
gas/ * config/tc-mips.c (check_for_24k_errata): Remove. (md_mips_end): Remove call to check_for_24k_errata. (start_noreorder): Likewise. (s_change_sec): Likewise. (s_change_section): Likewise. (insns_between): Add 24k errata checks. (append_insn): Remove declaration and references to nhdx_24k. Remove calls to check_for_24k_errata. gas/testsuite: * eret.s, eret.d eret.l: Remove. * eret-1.s, eret-1.d: New. * eret-2.s, eret-2.d: New. * eret-3.s, eret-3.d: New. * mips.exp: Run new tests. Remove old tests.
2009-05-26 PR 10143Nick Clifton1-2/+2
* config/bfin-parse.y (error): Use "%s" as format string for error message.
2009-05-23gas/Richard Sandiford1-7/+6
* config/tc-mips.c (nops_for_vr4130): Don't check noreorder_p. (nops_for_insn): Likewise. gas/testsuite/ * gas/mips/vr4130.s, gas/mips/vr4130.d: Expect part A to have nops.
2009-05-22<gas changes>Dwarakanath Rajagopal1-455/+6
2009-05-22 Dwarakanath Rajagopal <dwarak.rajagopal@amd.com> * config/tc-i386.c (process_drex): Delete. Remove SSE5 support. (build_modrm_byte): Remove DREX handling support. (DREX_*): Delete. (drex_byte): Delete. (md_assemble): Remove DREX handling support. (process_operands): Remove DREX, SSE5 support. (i386_insn): Remove DREX. <gas/testsuite changes> 2009-05-22 Dwarakanath Rajagopal <dwarak.rajagopal@amd.com> * gas/i386/i386.exp: Remove SSE5 tests. * gas/i386/x86-64-sse5.s: Delete. Remove SSE5 tests. * gas/i386/x86-64-sse5.d: Ditto. * gas/i386/arch-10-1.l: Remove SSE5 tests. * gas/i386/arch-10-2.l: Ditto. * gas/i386/arch-10-3.l: Ditto. * gas/i386/arch-10-4.l: Ditto. * gas/i386/arch-10.d: Ditto. * gas/i386/arch-10.s: Ditto. * gas/i386/arch-4.s: Delete. Remove SSE5 tests. * gas/i386/arch-4.d: Ditto. * gas/i386/arch-8.s: Ditto. * gas/i386/arch-8.d: Ditto. * gas/i386/arch-2.s: Remove SSE5 tests. * gas/i386/arch-2.d: Remove SSE5 tests. * gas/i386/x86-64-arch-2.s: Ditto. <opcodes changes> 2009-05-22 Dwarakanath Rajagopal <dwarak.rajagopal@amd.com> * i386-opc.h (Cpusse5): Delete. (i386_cpu_flags): Delete. * i386-gen.c: Remove CpuSSE5, Drex, Drexv and Drexc. * i386-opc.tbl: Remove SSE5 instructions. * i386-tbl.h: Regenerate. * i386-init.h: Regenerate. * i386-dis.c (OP_E_memeory, OP_E_extended): Remove drex handling. (print_drex_arg): Delete. (OP_DREX4): Delete. (OP_DREX3): Delete. (OP_DREX_ICMP): Delete. (OP_DREX_FCMP): Delete. (DREX_*): Delete. (THREE_BYTE_0F24, THREE_BYTE_0F25, THREE_BYTE_0f7B): Delete.
2009-05-202009-05-20 Kai Tietz <kai.tietz@onevision.com>H.J. Lu3-22/+13
H.J. Lu <hongjiu.lu@intel.com> * config/obj-coff.h: Include "coff/x86_64.h" for x86 pe-coff. (TARGET_FORMAT): Removed for x86 pe-coff. (COFF_TARGET_FORMAT): Likewise. * config/tc-i386.c (md_longopts): Allow --64 for x86 pe-coff. (md_parse_option): Likewise. (md_show_usage): Show option --32/--64 for x86 pe-coff. (i386_target_format): Use also for x86 pe-coff. * config/tc-i386.h (TARGET_FORMAT): Defined as i386_target_format for x86 pe-coff.
2009-05-19* config/tc-mep.c (mep_machine): Only check CPU flags, not COP flags.DJ Delorie1-6/+1
(mep_process_saved_insns): Remove debugging printfs.
2009-05-19==> bfd/ChangeLog <==Dave Korn1-0/+69
2009-05-19 Dave Korn <dave.korn.cygwin@gmail.com> * cofflink.c (process_embedded_commands): Ignore "-aligncomm". ==> gas/ChangeLog <== 2009-05-19 Dave Korn <dave.korn.cygwin@gmail.com> * NEWS: Mention new feature. * config/obj-coff.c (obj_coff_common_parse): New function. (obj_coff_comm): Likewise. (coff_pseudo_table): Override default ".comm" definition on PE. * doc/as.texinfo: Document new feature. ==> gas/testsuite/ChangeLog <== 2009-05-19 Dave Korn <dave.korn.cygwin@gmail.com> * gas/pe/: New directory for PE format-specific tests. * gas/pe/aligncomm-a.d: New test pattern file. * gas/pe/aligncomm-a.s: New test source file. * gas/pe/aligncomm-b.d: New test pattern file. * gas/pe/aligncomm-b.s: New test source file. * gas/pe/aligncomm-c.d: New test pattern file. * gas/pe/aligncomm-c.s: New test source file. * gas/pe/aligncomm-d.d: New test pattern file. * gas/pe/aligncomm-d.s: New test source file. * gas/pe/pe.exp: New test control script. * lib/gas-defs.exp (is_pecoff_format): New function. ==> ld/ChangeLog <== 2009-05-19 Dave Korn <dave.korn.cygwin@gmail.com> * NEWS: Mention new feature. * deffile.h (def_file_aligncomm): Add new struct definition. (def_file): Add new def_file_aligncomm member. * deffilep.y (%token): Add new ALIGNCOMM token. (command): Add production rule for ALIGNCOMM. (def_file_free): Free any chained def_file_aligncomm structs. (diropts[]): Add entry for '-aligncomm' .drectve command. (def_aligncomm): New grammar function. * ld.texinfo: Document new feature. * pe-dll.c (process_def_file): Rename from this ... (process_def_file_and_drectve): ... to this, updating all callers, and process any aligncomms chained to the def file after scanning all .drectve sections. (generate_edata): Updated to match. (pe_dll_build_sections): Likewise. ==> ld/testsuite/ChangeLog <== 2009-05-19 Dave Korn <dave.korn.cygwin@gmail.com> * ld-pe/aligncomm-1.c: New test source file. * ld-pe/aligncomm-2.c: Likewise. * ld-pe/aligncomm-3.c: Likewise. * ld-pe/aligncomm-4.c: Likewise. * ld-pe/aligncomm.d: New test pattern file. * ld-pe/direct.exp: Deleted, and content moved into ... * ld-pe/pe-run.exp: ... New common file for all PE run tests. * ld-pe/vers-script.exp: Deleted, and content merged into ... * ld-pe/pe-compile.exp: ... New common file for PE tests needing a compiler, adding aligned common tests. * ld-pe/pe.exp: Update header comment.