aboutsummaryrefslogtreecommitdiff
path: root/gas/config/tc-arm.c
AgeCommit message (Collapse)AuthorFilesLines
2007-11-062007-11-06 Paul Brook <paul@codesourcery.com>Paul Brook1-3/+7
gas/ * config/tc-arm.c (do_mull): Allow overlapping Rm for armv6. gas/testsuite/ * gas/arm/mul-overlap.s: Add umull and smlal. * gas/arm/mul-overlap.l: Update expected results.
2007-10-18PR gas/5174Nick Clifton1-284/+276
* config/tc-arm.c: Fix formatting and spelling errors. * gas.pot: Regenerate.
2007-10-17Remove duplicate definitions of the md_atof() functionNick Clifton1-12/+14
2007-10-08PR gas/5121 gas/5122 gas/5123 gas/5124 gas/5125 gas/5126 gas/5129 gas/5131 ↵Nick Clifton1-10/+10
gas/5132 gas/5137 gas/5143 * Makefile.am (CFILES): Add cgen.c (TARGET_CPU_CFILES): Add tc-iq2000.c, tc-maxq.c, tc-mt.c, tc-tic4x.c and xtensa-relax.c. (TARGET_CPU_HFILES): Add tc-iq2000.h, tc-maxq.h, tc-mt.h, tc-tic4x.h and xtensa-relax.h. (TARG_ENV_HFILES): Remove te-aux.h, te-delta.h, te-delt88.h, te-ic960.h, te-linux.h. Add te-aix5.h, te-armeabi.h, te-freebsd.h, te-gnu.h, te-interix.h, te-vxworks.h. (CONFIG_ATOF_CFILES): New variable. (POTFILES): Add CONFIG_ATOF_CFILES to dependencies. Fix typo with dependency upon TARG_ENV_HFILES. (DEPTC): Do not put "#include opcodes/<foo>-desc.h" into cgen-desc.h when foo-desc.h does not exit. Run make dep-am. * Makefile.in: Regenerate. * doc/Makefile.in: Regenerate. * po/POTFILES.in: Regenerate. * po/es.po: Regenerate. * po/fr.po: Regenerate. * po/gas.pot: Regenerate. * po/rw.po: Regenerate. * po/tr.po: Regenerate. * config/obj-elf.c (obj_elf_vtable_inherit): Allow for translation of error messages. * config/obj-som.c: Likewise. * config/tc-arc.c: Likewise. * config/tc-arm.c: Likewise. * config/tc-bfin.c: Likewise. * config/tc-frv.c: Likewise.
2007-10-08PR gas/5134Nick Clifton1-1/+1
* config/tc-arm.c (md_apply_fix): Likewise.
2007-10-08PR gas/5133Nick Clifton1-1/+1
* config/tc-arm.c (md_apply_fix): Correct error message
2007-10-03PR gas/5089 * config/tc-arm.c (s_arm_unwind_handlerdata): Fix spelling typo.Nick Clifton1-2/+2
PR gas/5090 (md_assemble): Fix spelling typo.
2007-08-242007-08-24 Aurelien Jarno <aurel32@debian.org>Daniel Jacobowitz1-5/+5
* config/tc-arm.c (md_apply_fix): Cast bfd_vma values to long before printing them.
2007-08-092007-08-09 Paul Brook <paul@codesourcery.com>Paul Brook1-1/+25
gas/ * config/tc-arm.c (relaxed_symbol_addr): Compensate for alignment. gas/testsuite/ * gas/arm/relax_load_align.d: new test. * gas/arm/relax_load_align.s: new test.
2007-07-14* config/tc-arm.c (create_register_alias): Return a boolean rather than an ↵Nick Clifton1-17/+64
integer. Check the return value of insert_reg_alias and do not continue to create aliases once an insertion has failed. (s_unreq): Delete the all-upper-case and all-lower-case alternatives as well. * testsuite/gas/arm/arm.s: Add tests for re-aliasing a previously removed alias. * testsuite/gas/arm/arm.l: Add new expected warning message.
2007-07-03Switch to GPLv3Nick Clifton1-2/+2
2007-06-29bfd:Joseph Myers1-102/+14
* elf-attrs.c: New. * Makefile.am (BFD32_BACKENDS): Add elf-attrs.lo. (BFD32_BACKENDS_CFILES): Add elf-attrs.c. (elf-attrs.lo): Generate dependencies. * Makefile.in: Regenerate. * configure.in (elf): Add elf-attrs.lo. * configure: Regenerate. * elf-bfd.h (struct elf_backend_data): Add entries for object attributes. (NUM_KNOWN_OBJ_ATTRIBUTES, obj_attribute, obj_attribute_list, OBJ_ATTR_PROC, OBJ_ATTR_GNU, OBJ_ATTR_FIRST, OBJ_ATTR_LAST, Tag_NULL, Tag_File, Tag_Section, Tag_Symbol, Tag_compatibility): New. (struct elf_obj_tdata): Add entries for object attributes. (elf_known_obj_attributes, elf_other_obj_attributes, elf_known_obj_attributes_proc, elf_other_obj_attributes_proc): New. (bfd_elf_obj_attr_size, bfd_elf_set_obj_attr_contents, bfd_elf_get_obj_attr_int, bfd_elf_add_obj_attr_int, bfd_elf_add_proc_attr_int, bfd_elf_add_obj_attr_string, bfd_elf_add_proc_attr_string, bfd_elf_add_obj_attr_compat, bfd_elf_add_proc_attr_compat, _bfd_elf_attr_strdup, _bfd_elf_copy_obj_attributes, _bfd_elf_obj_attrs_arg_type, _bfd_elf_parse_attributes, _bfd_elf_merge_object_attributes): New. * elf.c (_bfd_elf_copy_private_bfd_data): Copy object attributes. (bfd_section_from_shdr): Handle attributes sections. * elflink.c (bfd_elf_final_link): Handle attributes sections. * elfxx-target.h (elf_backend_obj_attrs_vendor, elf_backend_obj_attrs_section, elf_backend_obj_attrs_arg_type, elf_backend_obj_attrs_section_type): New. (elfNN_bed): Update. * elf32-arm.c (NUM_KNOWN_ATTRIBUTES, aeabi_attribute, aeabi_attribute_list): Remove. (struct elf32_arm_obj_tdata): Remove object attributes fields. (check_use_blx, bfd_elf32_arm_set_vfp11_fix, using_thumb2, elf32_arm_copy_private_bfd_data, elf32_arm_merge_eabi_attributes): Update for new object attributes interfaces. (uleb128_size, is_default_attr, eabi_attr_size, elf32_arm_eabi_attr_size, write_uleb128, write_eabi_attribute, elf32_arm_set_eabi_attr_contents, elf32_arm_bfd_final_link, elf32_arm_new_eabi_attr, elf32_arm_get_eabi_attr_int, elf32_arm_add_eabi_attr_int, attr_strdup, elf32_arm_add_eabi_attr_string, elf32_arm_add_eabi_attr_compat, copy_eabi_attributes, elf32_arm_parse_attributes): Remove. Moved to generic code in elf-attrs.c. (elf32_arm_obj_attrs_arg_type): New. (elf32_arm_fake_sections): Do not handle .ARM.attributes. (elf32_arm_section_from_shdr): Do not handle SHT_ARM_ATTRIBUTES. (bfd_elf32_bfd_final_link): Remove. (elf_backend_obj_attrs_vendor, elf_backend_obj_attrs_section, elf_backend_obj_attrs_arg_type, elf_backend_obj_attrs_section_type): New. * elf32-bfin.c (bfin_elf_copy_private_bfd_data): Copy object attributes. * elf32-frv.c (frv_elf_copy_private_bfd_data): Likewise. * elf32-iq2000.c (iq2000_elf_copy_private_bfd_data): Likewise. * elf32-mep.c (mep_elf_copy_private_bfd_data): Likewise. * elf32-mt.c (mt_elf_copy_private_bfd_data): Likewise. * elf32-sh.c (sh_elf_copy_private_data): Likewise. * elf64-sh64.c (sh_elf64_copy_private_data_internal): Likewise. binutils: * readelf.c (display_gnu_attribute): New. (process_arm_specific): Rearrange as process_attributes. (process_arm_specific): Replace by wrapper of process_attributes. gas: * as.c (create_obj_attrs_section): New. (main): Call create_obj_attrs_section for ELF. * read.c (s_gnu_attribute, skip_whitespace, skip_past_char, skip_past_comma, s_vendor_attribute): New. (potable): Add gnu_attribute for ELF. * read.h (s_vendor_attribute): Declare. * config/tc-arm.c (s_arm_eabi_attribute): Replace by wrapper round s_vendor_attribute. (aeabi_set_public_attributes): Update for new attributes interfaces. (arm_md_end): Remove attributes contents setting now done generically. include/elf: * arm.h (elf32_arm_add_eabi_attr_int, elf32_arm_add_eabi_attr_string, elf32_arm_add_eabi_attr_compat, elf32_arm_get_eabi_attr_int, elf32_arm_set_eabi_attr_contents, elf32_arm_eabi_attr_size, Tag_NULL, Tag_File, Tag_Section, Tag_Symbol, Tag_compatibility): Remove. * common.h (SHT_GNU_ATTRIBUTES): Define. ld: * emulparams/armelf.sh (OTHER_SECTIONS): Remove .ARM.attributes. (ATTRS_SECTIONS): Define. * scripttempl/elf.sc, scripttempl/elf32sh-symbian.sc, scripttempl/elf_chaos.sc, scripttempl/elfi370.sc, scripttempl/elfxtensa.sc: Handle ATTRS_SECTIONS.
2007-06-262007-06-26 Paul Brook <paul@codesourcery.com>Paul Brook1-1/+11
gas/ * config/tc-arm.c (parse_operands): Accept generic coprocessor regs for OP_RVC. (reg_names): Add fpinst, pfinst2, mvfr0 and mvfr1. gas/testsuite/ * gas/arm/vfp1xD.d: Add new fmrx/fmxr tests. * gas/arm/vfp1xD.s: Ditto. * gas/arm/vfp1xD_t2.d: Ditto. * gas/arm/vfp1xD_t2.s: Ditto. opcodes/ * arm-dis.c (coprocessor_opcodes): Add fmxr/fmrx mvfr0/mvfr1.
2007-06-142007-06-14 Paul Brook <paul@codesourcery.com>Paul Brook1-3/+90
gas/ * config/tc-arm.c (do_t_mov_cmp): Handle shift by register and narrow shift by immediate. gas/testsuite/ * gas/arm/thumb32.s: Add tests for shift instructions. * gas/arm/thumb32.d: Ditto.
2007-06-062007-06-06 Paul Brook <paul@codesourcery.com>Paul Brook1-2/+12
gas/ * config/tc-arm.c (s_align): Pad code sections appropriately. gas/testsuite/ * gas/arm/thumb.d: Update expected output. * gas/arm/thumb2_relax.d: Ditto.
2007-06-052007-06-05 Paul Brook <paul@codesourcery.com>Paul Brook1-2/+2
gas/ * config/tc-arm.c (insns): Correct Thumb-2 ldrd/strd opcodes. gas/testsuite/ * gas/arm/thumb32.d: Add writeback addressing mode tests. * gas/arm/thumb32.s: Update expected output. opcodes/ * arm-dis.c (thumb32_opcodes): Display writeback ldrd/strd addresses.
2007-05-312007-05-31 Paul Brook <paul@codesourcery.com>Paul Brook1-1/+1
gas/ * config/tc-arm.c (insns): Allow strex on M profile cores.
2007-05-252007-03-25 Paul Brook <paul@codesourcery.com>Paul Brook1-1/+27
gas/ * config/tc-arm.c (T2_SUBS_PC_LR): Define. (do_t_add_sub): Correctly encode subs pc, lr, #const. (do_t_mov_cmp): Correctly encode movs pc, lr. gas/testsulte/ * gas/arm/thumb32.s: Add tests for subs pc, lr. * gas/arm/thumb32.d: Change error-output: to stderr:. Update expected output.
2007-05-162007-05-16 Paul Brook <paul@codesourcery.com>Paul Brook1-14/+15
* config/tc-arm.c (v7m_psrs): Add uppercase PSR names and xpsr.
2007-05-05 gas/Mark Shinwell1-1/+1
* config/tc-arm.c (md_apply_fix): Generate more accurate diagnostic when 8-bit immediate range is exceeded for BFD_RELOC_ARM_OFFSET_IMM8.
2007-04-192007-04-19 Paul Brook <paul@codesourcery.com>Paul Brook1-0/+13
gas/testsuite/ * gas/arm/thumb1_unified.d: New test. * gas/arm/thumb1_unified.s: New test. gas/ * config/tc-arm.c (md_assemble): Only allow 16-bit instructions on Thumb-1. Add sanity check for bogus relaxations.
2007-04-192007-04-19 Paul Brook <paul@codesourcery.com>Paul Brook1-2/+4
gas/ * config/tc-arm.c (insns): Allow rsb and rsbs on Thumb-1.
2007-04-182007-04-18 Paul Brook <paul@codesourcery.com>Paul Brook1-2/+31
gas/testsuite/ * gas/arm/thumb2_add.s: Add rsb #0 test. * gas/arm/thumb2_add.d: Update expected output. gas/ * config/tc-arm.c (do_t_rsb): Use 16-bit encoding when possible.
2007-04-042007-04-04 Paul Brook <paul@codesourcery.com>Paul Brook1-2/+3
gas/ * config/tc-arm.c (do_neon_ext): Enforce immediate range. (insns): Use I15 for vext. gas/testsute/ * gas/arm/neon-cov.s: Add new vext test. * gas/arm/neon-cov.d: Ditto.
2007-03-302007-03-30 Paul Brook <paul@codesourcery.com>Paul Brook1-64/+98
gas/ * config/tc-arm.c (encode_thumb2_ldmstm): New function. (do_t_ldmstm): Generate 16-bit push/pop. Use encode_thumb2_ldmstm. (do_t_push_pop): Use encode_thumb2_ldmstm. gas/testsuite/ * gas/arm/thumb2_ldmstm.d: New test. * gas/arm/thumb2_ldmstm.s: New test.
2007-03-26 * config/tc-arm.c (arm_it): Add immisfloat field.Julian Brown1-11/+45
(parse_qfloat_immediate): Disallow integer syntax for floating-point immediates. Fix hex immediates, handle 0.0 and -0.0 specially. (parse_neon_mov): Set immisfloat bit for operand if it parsed as a float. (neon_cmode_for_move_imm): Reject non-float immediates for float operands. (neon_move_immediate): Pass immisfloat bit to neon_cmode_for_move_imm.
2007-03-242007-03-24 Paul Brook <paul@codesourcery.com>Paul Brook1-0/+3
* config/tc-arm.c (do_t_ldmstm): Error on Thumb-2 addressing modes.
2007-03-242007-03-24 Paul Brook <paul@codesourcery.com>Paul Brook1-8/+23
Mark Shinwell <shinwell@codesourcery.com> gas/ * config/tc-arm.c (operand_parse_code): Add OP_oRRw. (parse_operands): Don't expect comma if first operand missing. Handle OP_oRRw. (do_srs): Encode register number, checking it is r13. Update comment. (insns): Update SRS entries to take a register. gas/testsuite/ * gas/arm/archv6.s: Add new SRS tests. * gas/arm/archv6.d: Update expected output. * gas/arm/thumb32.s: Add new SRS tests. * gas/arm/thumb32.d: Update expected output. * gas/arm/srs-t2.d: New. * gas/arm/srs-t2.l: New. * gas/arm/srs-t2.s: New. * gas/arm/srs-arm.d: New. * gas/arm/srs-arm.l: New. * gas/arm/srs-arm.s: New. opcodes/ * arm-dis.c (arm_opcodes): Print SRS base register.
2007-03-23 gas/Mark Shinwell1-5/+21
* config/tc-arm.c (md_apply_fix): Turn CZB instructions that attempt to jump to the next instruction into NOPs.
2007-03-18 gas/Mark Shinwell1-6/+6
* config/tc-arm.c (do_mul): Don't warn about overlapping Rd and Rm operands when assembling for v6 or above. Correctly capitalize register names in the messages. (do_mlas): Likewise. Delete spurious blank line. gas/testsuite/ * gas/arm/mul-overlap.s: New. * gas/arm/mul-overlap.d: New. * gas/arm/mul-overlap.l: New. * gas/arm/mul-overlap-v6.s: New. * gas/arm/mul-overlap-v6.d: New.
2007-03-15 gas/Daniel Jacobowitz1-0/+6
* config/tc-arm.c (arm_copy_symbol_attributes): New. * config/tc-arm.h (arm_copy_symbol_attributes): Declare. (TC_COPY_SYMBOL_ATTRIBUTES): Define. * gas/symbols.c (copy_symbol_attributes): Use TC_COPY_SYMBOL_ATTRIBUTES. gas/testsuite/ * gas/arm/thumbver.d, gas/arm/thumbver.s: New test.
2007-03-142007-03-14 Paul Brook <paul@codesourcery.com>Paul Brook1-1/+1
gas/ * config/tc-arm.c (T16_32_TAB): Fix dec_sp encoding. gas/testsuite/ * gas/arm/thumb2_add.d: Add tests using sp. * gas/arm/thumb2_add.s: Ditto.
2007-03-022007-03-02 Paul Brook <paul@codesourcery.com>Paul Brook1-18/+46
gas/ * config/tc-arm.c (relax_immediate): Always return positive values. (relaxed_symbol_addr): New function. (relax_adr, relax_branch): Use it. (arm_relax_frag): Pass stretch argument. Adjust infinite loop check. gas/testsuite/ * gas/arm/relax_branch_align.d: New test. * gas/arm/relax_branch_align.s: New test.
2007-02-25 * config/tc-arm.c (do_vfp_nsyn_pop): Use fldmias/fldmiad.Mark Shinwell1-2/+2
2007-01-112007-01-11 Paul Brook <paul@codesourcery.com>Paul Brook1-2/+2
gas/ * config/tc-arm.c (do_t_add_sub): Use Rd and Rs. gas/testsuite/ * gas/arm/thumb2_add.d: Add test for missing operand. * gas/arm/thumb2_add.s: Ditto.
2007-01-11PR gas/3707Nick Clifton1-2/+2
* config/tc-arm.c (md_begin): Cope with an NULL mcpu_fpu_opt variable.
2007-01-042007-01-04 Paul Brook <paul@codesourcery.com>Paul Brook1-1/+6
gas/ * config/tc-arm.c (do_cpsi): Set mmod bit for 2 argument form. gas/testsuite/ * gas/arm/archv6.s: Add more cpsie tests. * gas/arm/archv6.d: Ditto. opcodes/ * arm-dis.c (arm_opcodes): Fix cpsie and cpsid entries.
2007-01-04 * config/tc-arm.c (do_neon_shl_imm): Swap rN, rM.Julian Brown1-4/+37
(do_neon_qshl_imm): Likewise. (do_neon_rshl): New function. Handle rounding variants of v{q}shl-by-register. (insns): Use do_neon_rshl for vrshl, vqrshl.
2007-01-042007-01-04 Paul Brook <paul@codesourcery.com>Paul Brook1-6/+6
gas/ * config/tc-arm.c (NEON_ENC_TAB): Fix encoding of vclt, vcle, vaclt and vacle. gas/testsuite/ * gas/arm/neon-cov.d: Adjust expected output. * gas/arm/neon-omit.s: Add tests for vcgt and vcle. Reorder vacle and vacle. * gas/arm/neon-omit.d: Adjust expected output.
2006-12-132006-12-13 Paul Brook <paul@codesourcery.com>Paul Brook1-0/+5
gas/ * config/tc-arm.c (arm_arch_option_table): Add v7-{a,r,m}. * doc/c-arm.texi: Fix spelling of ARMv7 profile variants.
2006-12-012006-12-01 Paul Brook <paul@codesourcery.com>Paul Brook1-0/+6
gas/ * config/tc-arm.c (arm_force_relocation): Return 1 for relocs against function symbols. gas/testsuite/ * gas/arm/thumbrel.s: New test. * gas/arm/thumbrel.d: New test.
2006-11-292006-11-29 Paul Brook <paul@codesourcery.com>Paul Brook1-0/+6
gas/ * config/tc-arm.c (arm_is_eabi): New function. * config/tc-arm.h (arm_is_eabi): New prototype. (THUMB_IS_FUNC): Use ELF function type for EABI objects. * doc/c-arm.texi (.thumb_func): Update documentation.
2006-11-292006-11-29 Paul Brook <paul@codesourcery.com>Paul Brook1-4/+4
gas/ * config/tc-arm.c (do_vfp_sp_const, do_vfp_dp_const): Fix operans encoding. gas/testsuite/ * gas/arm/vfpv3-const-conv.s: Improve test coverage. * gas/arm/vfpv3-const-conv.d: Adjust expected output. * gas/arm/vfp-neon-syntax_t2.d: Ditto. * gas/arm/vfp-neon-syntax.d: Ditto. opcodes/ * arm-dis.c (coprocessor_opcodes): Fix bitfields for fconstd/fconstd.
2006-11-22opcodes/Daniel Jacobowitz1-1/+1
* arm-dis.c (last_is_thumb): Delete. (enum map_type, last_type): New. (print_insn_data): New. (get_sym_code_type): Take MAP_TYPE argument. Check the type of the right symbol. Handle $d. (print_insn): Check for mapping symbols even without a normal symbol. Adjust searching. If $d is found see how much data to print. Handle data. gas/ * config/tc-arm.h (md_cons_align): Define. (mapping_state): New prototype. * config/tc-arm.c (mapping_state): Make global. gas/testsuite/ * gas/arm/arm7t.d, gas/arm/neon-ldst-rm.d, gas/arm/thumb2_pool.d, gas/arm/tls.d: Update for $d support. * gas/arm/mapshort.d, gas/arm/mapshort.s: New test. * gas/elf/section2.e-armeabi: Update. * gas/elf/section2.e-armelf: New file. * gas/elf/elf.exp: Use it. ld/testsuite/ * ld-arm/mixed-app.d, ld-arm/tls-app.d, ld-arm/tls-lib.d: Update for $d support.
2006-11-14 gas/Mark Shinwell1-5/+5
* config/tc-arm.c (do_t_czb): Rename to do_t_cbz. (insns): Adjust accordingly. (md_apply_fix): Alter comments to use CBZ instead of CZB.
2006-11-10* config/tc-arm.c (arm_fix_adjustable) [OBJ_COFF]: Delete.Nick Clifton1-30/+4
(arm_fix_adjustable) [OBJ_ELF]: Use it on coff targets too. * gas/arm/local_label_coff.s: New test. * gas/arm/local_label_coff.d: New test. * gas/arm/local_label_elf.s: New test. * gas/arm/local_label_elf.d: New test. * gas/arm/local_label_wince.s: New test. * gas/arm/local_label_wince.d: New test.
2006-10-312006-10-31 Paul Brook <paul@codesourcery.com>Paul Brook1-1/+1
gas/ * config/tc-arm.c (arm_adjust_symtab): Don't use STT_ARM_16BIT for EABIv4.
2006-10-312006-10-31 Paul Brook <paul@codesourcery.com>Paul Brook1-1/+41
gas/ * config/tc-arm.c (object_arch): New variable. (s_arm_object_arch): New function. (md_pseudo_table): Add object_arch. (aeabi_set_public_attributes): Obey object_arch. * doc/c-arm.texi: Document .object_arch.
2006-10-082006-10-08 Paul Brook <paul@codesourcery.com>Paul Brook1-85/+142
gas/ * config/tc-arm.c (parse_big_immediate): 64-bit host fix. (parse_operands): Use parse_big_immediate for OP_NILO. (neon_cmode_for_logic_imm): Try smaller element sizes. (neon_cmode_for_move_imm): Ditto. (do_neon_logic): Handle .i64 pseudo-op. gas/testsuite/ * testsuite/gas/arm/neon-cov.s: Test pseudo-instruction forms of vmov, vmvn and logic immediate instructions. * testsuite/gas/arm/neon-cov.d: ditto.
2006-09-28* config/tc-arm.c (md_apply_fix): do not clear write_back bitNick Clifton1-2/+0
* gas/arm/iwmmxt-wldstbh.s: New file. * gas/arm/iwmmxt-wldstbh.d: New file.