Commit Graph

168 Commits

Author SHA1 Message Date
Nick Clifton 376eb240f8 Fix handling of case sensitive register aliases and add a test for the bug 2004-04-30 10:51:13 +00:00
Paul Brook 06516a5e02 * config/tc-arm.c (mav_parse_offset): Value must be multiple of 4.
testsuite
	* maverick.c (off8s): Test full shifted operand range.
	(MCC2): Define.
	(MVDSPACC, MVACCDSP): Use it.
	* maverick.d, maverick.s: Regenerate.
2004-04-22 16:18:29 +00:00
Nick Clifton 69b975477d Apply Bruno de Bus's patch to record the ARM mapping symbol state on a per-
section basis and to switch to the MAP_DATA state when emitting literal pools.
2004-04-22 09:49:03 +00:00
Nick Clifton 7cc69913c2 make use of meabi_flags be ELF specific 2004-03-30 08:53:05 +00:00
Paul Brook d507cf36a6 * bfd/elf32-arm.h (arm_print_private_bfd_data): Add EABI v3.
* binutils/readelf.c (decode_ARM_machine_flags): Add EABI v3.
	* gas/config/tc-arm.c (meabi_flags): New variable.
	(arm_parse_eabi): New function.
	(md_begin): Set flags for EABI v3.
	(arm_eabis): Add.
	(arm_long_opts): Add meabi.
	* include/elf/arm.h (EF_ERM_BE8, EF_ARM_LE8, EF_ARM_EABI_VER3): Add.
	* doc/as.texinf <ARM>: Document -meabi.
	* doc/c-arm.texi: Ditto.
2004-03-23 23:05:52 +00:00
Nick Clifton 34920d91a5 Apply fixes for Maverick Crunch 2004-02-18 16:28:18 +00:00
Daniel Jacobowitz e41f12f300 * config/tc-arm.c (md_begin): Mark .note.gnu.arm.ident as
read-only.
2004-02-09 18:04:26 +00:00
Daniel Jacobowitz c3ba240c75 * config/tc-arm.c (tc_gen_reloc): Improve error message for
undefined local labels.
2004-01-23 16:29:34 +00:00
Paul Brook e45d06306f * gas/config/tc-arm.c (do_vfp_reg2_from_sp2): Rename from
do_vfp_sp_reg2.
	(do_vfp_sp2_from_reg2): New function.
	(insns): Use them.
	(do_vfp_dp_from_reg2): Check return values properly.
	* opcodes/arm-opc.h (arm_opcodes): Move generic mcrr after known
	specific opcodes.
	* gas/testsuite/gas/arm/vfp2.s, gas/arm/vfp2.d: New test.
	* gas/testsuite/gas/arm/arm.exp: Add them.
2004-01-09 11:53:16 +00:00
Paul Brook 7de9afa224 * gas/config/tc-arm.c (arm_cpus): Add 926ejs and 1026ejs.
* gas/doc/c-arm.texi: Document them.
2003-12-29 16:43:37 +00:00
Paul Brook 84255574d4 * config/tc-arm.c (arm_archs): Add armv6. 2003-12-23 18:41:58 +00:00
Mark Mitchell 1ddd7f43f3 * config/tc-arm.c (arm_archs): Change "armv6" to "armv6j".
* doc/c-arm.texi (ARM Options): Likewise.
2003-12-18 05:45:13 +00:00
Nick Clifton 250355db82 Remove -8 bias on PC-relative load instructions for arm-wince-pe target 2003-12-16 17:44:36 +00:00
Paul Brook 33a392fb88 * config/tc-arm.c (FPU_MAVERICK): Define.
(FPU_ARCH_MAVERICK): Define.
	(arm_float_abi): Define.
	(mfloat_abi_opt): New variable.
	(md_begin): Use them.
	(arm_opts): Add msoft-float and mhard-float.
	(arm_cpus): Use FPU_ARCH_MAVERICK.
	(arm_fpus): Add maverick.
	(arm_float_abis): Add.
	(arm_parse_float_abi): New function.
	(arm_long_options): Add mfloat-abi.
	* doc/as.texinfo: Document -mfloat-abi=.
	* doc/c-arm.text: Ditto. Menution -fpu=maverick.
2003-12-10 12:11:26 +00:00
Ben Elliston 1a9a8ab429 Remove redundant returns in void functions. 2003-12-10 06:41:08 +00:00
Paul Brook 5533419b3d * config/tc-arm.c (do_umaal): Fix typo. 2003-12-09 17:41:12 +00:00
Mark Mitchell 09d92015d3 * gas/arm/arm.exp: Add archv6 and thumbv6.
* gas/arm/archv6.d: New file.
	* gas/arm/archv6.s: Likewise.
	* gas/arm/thumbv6.d: Likewise.
	* gas/arm/thumbv6.s: Likewise.

	Add V6 support.
	* config/tc-arm.c (ARM_EXT_V6): New macro.
	(ARM_ARCH_V6): Likewise.
	(SHIFT_IMMEDIATE): Likewise.
	(SHIFT_LSL_OR_ASR_IMMEDIATE): Likewise.
	(SHIFT_ASR_IMMEDIATE): Likewise.
	(SHIFT_LSL_IMMMEDIATE): Likewise.
	(do_cps): New function.
	(do_cpsi): Likewise.
	(do_ldrex): Likewise.
	(do_pkhbt): Likewise.
	(do_pkhtb): Likewise.
	(do_qadd16): Likewise.
	(do_rev): Likewise.
	(do_rfe): Likewise.
	(do_sxtah): Likewise.
	(do_sxth): Likewise.
	(do_setend): Likewise.
	(do_smlad): Likewise.
	(do_smlald): Likewise.
	(do_smmul): Likewise.
	(do_ssat): Likewise.
	(do_usat): Likewise.
	(do_srs): Likewise.
	(do_ssat16): Likewise.
	(do_usat16): Likewise.
	(do_strex): Likewise.
	(do_umaal): Likewise.
	(do_cps_mode): Likewise.
	(do_cps_flags): Likewise.
	(do_endian_specifier): Likewise.
	(do_pkh_core): Likewise.
	(do_sat): Likewise.
	(do_sat16): Likewise.
	(insns): Add V6 instructions.
	(do_t_cps): New function.
	(do_t_cpy): Likewise.
	(do_t_setend): Likewise.
	(THUMB_CPY): New macro.
	(tinsns): Add V6 instructions.
	(decode_shift): Handle V6 restricted-shift options.
	(thumb_mov_compare): Support CPY.
	(arm_cores): Add arm1136js and arm1136jfs.
	(arm_archs): Add armv6.
	(arm_fpus): Add arm1136jfs.
	* doc/c-arm.texi (ARM Options): Mention arm1136js, arm1136jfs, and
	armv6 options.

	* gas/arm/arm.exp: Add archv6 and thumbv6.
	* gas/arm/archv6.d: New file.
	* gas/arm/archv6.s: Likewise.
	* gas/arm/thumbv6.d: Likewise.
	* gas/arm/thumbv6.s: Likewise.

	* arm-dis.c (print_arm_insn): Add 'W' macro.
	* arm-opc.h (arm_opcodes): Add V6 instructions.
	(thumb_opcodes): Likewise.
2003-12-06 01:25:29 +00:00
Kazu Hirata 67c1ffbec9 * config/tc-a29k.h: Fix comment typos.
* config/tc-arm.c: Likewise.
	* config/tc-dlx.h: Likewise.
	* config/tc-hppa.c: Likewise.
	* config/tc-i386.c: Likewise.
	* config/tc-m32r.c: Likewise.
	* config/tc-m68hc11.c: Likewise.
	* config/tc-m68k.c: Likewise.
	* config/tc-m88k.c: Likewise.
	* config/tc-mcore.c: Likewise.
	* config/tc-mips.c: Likewise.
	* config/tc-mmix.c: Likewise.
	* config/tc-msp430.c: Likewise.
	* config/tc-ns32k.c: Likewise.
	* config/tc-or32.c: Likewise.
	* config/tc-or32.h: Likewise.
	* config/tc-pj.c: Likewise.
	* config/tc-ppc.c: Likewise.
	* config/tc-s390.c: Likewise.
	* config/tc-sh64.c: Likewise.
	* config/tc-sh.c: Likewise.
	* config/tc-sparc.c: Likewise.
2003-11-22 02:35:31 +00:00
Kazu Hirata 2d2255b58e * config/tc-a29k.h: Fix comment typos.
* config/tc-alpha.c: Likewise.
	* config/tc-alpha.h: Likewise.
	* config/tc-arc.c: Likewise.
	* config/tc-arm.c: Likewise.
	* config/tc-arm.h: Likewise.
	* config/tc-cris.c: Likewise.
	* config/tc-d10v.c: Likewise.
	* config/tc-d30v.c: Likewise.
	* config/tc-dlx.c: Likewise.
	* config/tc-dlx.h: Likewise.
2003-11-21 00:24:40 +00:00
Ben Elliston 9ce887a1cd * config/tc-arm.c (arm_elf_change_section): Not static. 2003-11-14 06:55:21 +00:00
Nick Clifton 6057a28fab Add support for ARM ELF Mapping symbols 2003-11-13 14:19:01 +00:00
Nick Clifton 0bbf2aa424 * config/tc-arm.texi (struct reg_entry): Add new field 'builtin'.
(rn_table, iwmmxt_table, cp_table, cn_table, fn_table, sn_table,
  dn_table, mav_mvf_table, mac_mvd_table, mav_mvfx_table,
  mav_mvax_table, mav_dspc_table): Initialise new field.
  (insert_reg_alias): Initialise new field.
  (md_pseudo_table): Add "unreq" entry.
  (s_unreq): New function: Undo the effects of a previous .req.
* doc/c-arm.texi: Document new pseudo op.
* NEWS: Mention new feature.
* testsuite/gas/arm/req.s: New test file.  Check .req and .unreq psuedo ops.
* testsuite/gas/arm/req.l: Expected error output from req.s test.
* testsuite/gas/arm/copro.d: Set target architecture for objdump so that the
  test will work on architectures which cannot encode higher arm architecture
  types in their file headers.
* testsuite/gas/arm/arm.exp: Run new req.s test.
  Skip thumb instruction test for PE targets which do not support
  thumb relocations.
* testsuite/gas/elf/elf.exp: Skip special handling of section2 test for XScale
  targets - it is no longer needed.
2003-11-06 15:30:05 +00:00
Nick Clifton 5a21e886d0 Fix up error messages for Maverick. 2003-10-21 14:20:40 +00:00
Ian Lance Taylor ece01a639d * config/tc-arm.c (do_iwmmxt_byte_addr): Reject control
registers.
	(do_iwmmxt_word_addr): With a control register, reject conditional
	execution and reject a non-word size.
2003-10-17 07:01:44 +00:00
Nick Clifton f02232aaa3 Add support for unindexed form of Addressing Mode 5 2003-08-19 13:05:42 +00:00
Daniel Jacobowitz 8266886ed2 * config/tc-arm.c (arm_archs): Add iwmmxt. 2003-07-23 19:30:39 +00:00
Richard Earnshaw 39c2da3212 * tc-arm.c (FPU_DEFAULT, case TE_LINUX): Default to FPU_ARCH_FPA.
(FPU_DEFAULT, case TE_NetBSD): Default to FPU_ARCH_VFP for ELF,
FPU_ARCH_FPA for AOUT.
(md_begin): Don't try to guess the floating point architecture from
the CPU if the OS ABI (Linux, NetBSD) mandates a particular form.
2003-06-13 15:20:26 +00:00
Nick Clifton 87ccc1b08d Move .file and .loc pseudo ops into obj-elf.c 2003-05-21 12:07:56 +00:00
Phil Blundell 472816383c 2003-04-02 Philip Blundell <philb@gnu.org>
* config/tc-arm.c (arm_force_relocation): Return 0 for OFFSET_IMM.
2003-04-02 23:31:25 +00:00
Nick Clifton 5a6c681789 Fixes for iWMMXt contribution. 2003-04-01 13:08:06 +00:00
Nick Clifton e16bb312f5 Add iWMMXt support 2003-03-25 20:56:01 +00:00
Nick Clifton fde78edd7a Add support for marking ARM ELF binaries as support the Cirrus EP9312 Maverick
floating point co-processor.
2003-02-10 10:44:48 +00:00
Alan Modra ae6063d440 * symbols.c (S_FORCE_RELOC): Add "strict" param.
* symbols.h (S_FORCE_RELOC): Likewise.
	* config/obj-aout.h (S_FORCE_RELOC): Likewise.
	* config/obj-bout.h (S_FORCE_RELOC): Likewise.
	* config/obj-coff.h (S_FORCE_RELOC): Likewise.
	* config/obj-ieee.h (S_FORCE_RELOC): Likewise.
	* config/obj-vms.h (S_FORCE_RELOC): Likewise.
	* write.c (generic_force_reloc): New function.
	(TC_FORCE_RELOCATION): Use it here instead of S_FORCE_RELOC.
	(TC_FORCE_RELOCATION_SUB_SAME): Test TC_FORCE_RELOCATION too.
	(adjust_reloc_syms): Adjust S_FORCE_RELOC call.
	* as.h (generic_force_reloc): Declare.
	* doc/internals.texi (S_FORCE_RELOC): Update.
	(TC_FORCE_RELOCATION_SUB_SAME): Update.

	* config/tc-alpha.c (alpha_force_relocation): Adjust to use
	generic_force_reloc.
	(alpha_fix_adjustable): Likewise.
	* config/tc-arm.c (arm_force_relocation): Likewise.
	* config/tc-cris.c (md_cris_force_relocation): Likewise.
	* config/tc-frv.c (frv_force_relocation): Likewise.
	* config/tc-i386.c (md_apply_fix3): Likewise.
	* config/tc-ia64.c (ia64_force_relocation): Likewise.
	* config/tc-ip2k.c (ip2k_force_relocation): Likewise.
	* config/tc-m32r.c (m32r_force_relocation): Likewise.
	* config/tc-m68hc11.c (tc_m68hc11_force_relocation): Likewise.
	* config/tc-mcore.c (mcore_force_relocation): Likewise.
	* config/tc-mips.c (mips_force_relocation): Likewise.
	* config/tc-mmix.c (mmix_force_relocation): Likewise.
	* config/tc-ppc.c (ppc_force_relocation): Likewise.
	* config/tc-s390.c (tc_s390_force_relocation): Likewise.
	* config/tc-sh.c (sh_force_relocation): Likewise.
	(md_pcrel_from_section): Likewise.
	* config/tc-sparc.c (tc_gen_reloc): Likewise.
	* config/tc-v850.c (v850_force_relocation): Likewise.
	* config/tc-xstormy16.c (xstormy16_force_relocation): Likewise.
	* config/tc-i386.h (TC_FORCE_RELOCATION): Likewise.
	* config/tc-mcore.h (TC_FORCE_RELOCATION): Likewise.
	* config/tc-sparc.h (tc_fix_adjustable): Likewise.

	* config/tc-d10v.c (d10v_force_relocation): Delete.
	* config/tc-d10v.h (TC_FORCE_RELOCATION): Don't define.
	* config/tc-dlx.c (md_dlx_force_relocation): Delete.
	* config/tc-dlx.h (TC_FORCE_RELOCATION): Don't define.
	* config/tc-fr30.c (fr30_force_relocation): Delete.
	* config/tc-fr30.h (TC_FORCE_RELOCATION): Don't define.
	* config/tc-mn10300.c (mn10300_force_relocation): Delete.
	* config/tc-mn10300.h (TC_FORCE_RELOCATION): Don't define.
	(TC_FORCE_RELOCATION_SUB_SAME): Test TC_FORCE_RELOCATION too.
	* config/tc-i960.h (TC_FORCE_RELOCATION_SUB_SAME): Likewise.
	* config/tc-hppa.c (hppa_force_relocation): Adjust S_FORCE_RELOC call.
	* config/tc-mips.c (RELAX_BRANCH_TOOFAR): Warning fix.
	* config/tc-mips.h (TC_FORCE_RELOCATION_SUB_SAME): Don't define.
	* config/tc-openrisc.c (openrisc_force_relocation): Delete.
	* config/tc-openrisc.h (TC_FORCE_RELOCATION): Don't define.
	* config/tc-sparc.c (elf32_sparc_force_relocation): Delete.
	* config/tc-sparc.h (TC_FORCE_RELOCATION): Don't define for ELF.
	* config/tc-i386.c (i386_force_relocation): Delete.
	* config/tc-i386.h (TC_FORCE_RELOCATION): Don't define for
	BFD_ASSEMBLER.
	(EXTERN_FORCE_RELOC): Fix TE_PE and STRICT_PE_FORMAT nesting.
	* config/tc-m68k.h (TC_FORCE_RELOCATION): Don't define.
	* config/tc-pj.h (TC_FORCE_RELOCATION): Don't define.
	* config/tc-sh.h (TC_FORCE_RELOCATION_SUB_ABS): Don't call
	S_FORCE_RELOC.
	(TC_FORCE_RELOCATION_SUB_SAME): Test TC_FORCE_RELOCATION too.
	* config/tc-sh64.h (TC_FORCE_RELOCATION_SUB_SAME): Likewise.
2003-01-23 12:51:05 +00:00
Alan Modra bfc866a6e6 * config/tc-a29k.c (insert_sreg): Prototype.
(define_some_regs): Prototype, make static.
	(parse_operand): Likewise.
	(md_parse_option <c,arg>): Add ATTRIBUTE_UNUSED.
	(md_show_usage <stream>): Likewise.
	(md_section_align <segment>): Likewise.
	(md_convert_frag <all args>): Likewise.
	(md_estimate_size_before_relax <all args>): Likewise.
	(md_apply_fix3): Don't cast valP pointer type.  Fix bogus >>='s.
	* config/tc-arm.c (arm_validate_fix): Only for OBJ_COFF or OBJ_ELF.
2002-12-12 22:43:45 +00:00
Alan Modra 114424c6b3 * config/tc-arm.c (arm_force_relocation): Move out of #if OBJ_ELF.
Move OBJ_COFF TC_FORCE_RELOCATION code here so that COFF handles
	ARM_IMMEDIATE and ARM_ADRL_IMMEDIATE relocs as for ELF.
	* config/tc-arm.h (TC_FORCE_RELOCATION): Define for both ELF and
	COFF to call arm_force_relocation.
2002-12-05 11:46:50 +00:00
Alan Modra 61b5f74bdb * config/tc-arm.c (arm_force_relocation): Return 0 for ARM_IMMEDIATE
and ARM_ADRL_IMMEDIATE.
2002-12-03 11:27:26 +00:00
Alan Modra b34976b65a s/boolean/bfd_boolean/ s/true/TRUE/ s/false/FALSE/. Simplify
comparisons of bfd_boolean vars with TRUE/FALSE.  Formatting.
2002-11-30 08:39:46 +00:00
Nick Clifton 143c8e19b4 Allow BKPT instruction to be specified without an operand. Add a test for this. 2002-11-29 21:00:50 +00:00
Nick Clifton 8df7094c00 Allow an absolute reference to _GLOBAL_TABLE_OFFSET_ to be converted into
a GOT reloc.
2002-10-23 10:34:18 +00:00
Nick Clifton 6189168b13 Note that an implemented BFD_RELOC_ARM_IMMEDIATE has been done.
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.
Warn about unpredictable behavior of LDM and STM instructions.
2002-09-17 19:23:00 +00:00
Alan Modra a161fe5320 gas reloc rewrite. 2002-09-05 00:01:18 +00:00
Nick Clifton ed71e1110d Add sh-nto support 2002-08-22 17:27:20 +00:00
Nick Clifton 08df23795b 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 16:31:16 +00:00
Nick Clifton 3d0c950043 Add per-section and per-sub-section literal pools. 2002-07-30 10:56:04 +00:00
Alan Modra 5a38dc70b4 * as.c: Replace CONST with const.
* write.c: Likewise.
	* config/obj-coff.c: Likewise.
	* config/tc-a29k.c: Likewise.
	* config/tc-arm.c: Likewise.
	* config/tc-dlx.c: Likewise.
	* config/tc-h8300.c: Likewise.
	* config/tc-h8500.c: Likewise.
	* config/tc-i370.c: Likewise.
	* config/tc-i860.c: Likewise.
	* config/tc-i960.c: Likewise.
	* config/tc-m68hc11.c: Likewise.
	* config/tc-m68k.c: Likewise.
	* config/tc-m88k.c: Likewise.
	* config/tc-mcore.c: Likewise.
	* config/tc-mips.c: Likewise.
	* config/tc-ns32k.c: Likewise.
	* config/tc-pdp11.c: Likewise.
	* config/tc-pj.c: Likewise.
	* config/tc-s390.c: Likewise.
	* config/tc-sh.c: Likewise.
	* config/tc-sparc.c: Likewise.
	* config/tc-tahoe.c: Likewise.
	* config/tc-tic80.c: Likewise.
	* config/tc-v850.c: Likewise.
	* config/tc-vax.c: Likewise.
	* config/tc-w65.c: Likewise.
	* config/tc-z8k.c: Likewise.
2002-06-08 07:37:16 +00:00
Nick Clifton c62e1cc30f For the Thumb BLX reloc round the relocation up rather than down. 2002-05-23 12:37:57 +00:00
Nick Clifton 76feaaf359 COFF: Dump literal pool when changing sections. 2002-05-22 16:46:27 +00:00
Nick Clifton 7f367f0135 Remove redundant call to listing_prev_line 2002-05-14 20:40:30 +00:00
Nick Clifton f5b4e9e449 Remove redundant call to listing_prev(). 2002-05-13 11:33:07 +00:00
Kazu Hirata cc8a6dd09b * config/obj-coff.c: Fix formatting.
* config/obj-elf.c: Likewise.
	* config/tc-alpha.c: Likewise.
	* config/tc-arm.c: Likewise.
	* config/tc-d10v.c: Likewise.
	* config/tc-d30v.c: Likewise.
	* config/tc-h8300.c: Likewise.
	* config/tc-hppa.c: Likewise.
2002-05-09 13:12:57 +00:00