Commit Graph

2577 Commits

Author SHA1 Message Date
Richard Sandiford 30ac9238df bfd/
* elf32-mips.c (elf_mips_howto_table_rel): Replace all uses of
	mips_elf_generic_reloc with _bfd_mips_elf_generic_reloc.  Use
	_bfd_mips_elf_hi16_reloc for R_MIPS_HI16 and R_MIPS_GNU_REL_HI16,
	_bfd_mips_elf_lo16_reloc for R_MIPS_LO16 and R_MIPS_GNU_REL_LO16,
	and _bfd_mips_elf_got16_reloc for R_MIPS_GOT16.  Change rightshift
	to 16 for R_MIPS_HI16 and R_MIPS_GNU_REL_HI16.
	(mips_elf_generic_reloc, struct mips_hi16, mips_elf_hi16_reloc)
	(mips_elf_lo16_reloc, mips_elf_got16_reloc): Delete.
	(_bfd_mips_elf32_gprel16_reloc): Remove special case.
	(mips_elf_gprel32_reloc, mips32_64bit_reloc): Likewise.

	* elf64-mips.c (mips_elf64_howto_table_rel): Replace all uses of
	mips_elf_generic_reloc with _bfd_mips_elf_generic_reloc.  Use
	_bfd_mips_elf_hi16_reloc for R_MIPS_HI16, _bfd_mips_elf_lo16_reloc
	for R_MIPS_LO16 and _bfd_mips_elf_got16_reloc for R_MIPS_GOT16.
	Change R_MIPS_HI16's rightshift to 16.
	(mips_elf64_howto_table_rela): Replace all uses of
	mips_elf_generic_reloc with _bfd_mips_elf_generic_reloc.
	Use _bfd_mips_elf_generic_reloc for R_MIPS_GOT16 as well.
	(mips_elf64_hi16_reloc, mips_elf64_got16_reloc): Delete.
	(mips_elf64_shift6_reloc): Remove special case.  Use
	_bfd_mips_elf_generic_reloc instead of returning bfd_reloc_continue.

	* elfn32-mips.c (prev_reloc_section): Delete.
	(prev_reloc_address, prev_reloc_addend): Delete.
	(elf_mips_howto_table_rel, elf_mips_howto_table_rela): As for
	elf64-mips.c
	(GET_RELOC_ADDEND, SET_RELOC_ADDEND): Delete.
	(mips_elf_generic_reloc, struct mips_hi16, mips_elf_hi16_reloc)
	(mips_elf_lo16_reloc, mips_elf_got16_reloc): Delete.
	(mips_elf_gprel16_reloc): Delete use of GET_RELOC_ADDEND.
	(mips_elf_literal_reloc, mips_elf_gprel32_reloc): Likewise.
	(mips16_jump_reloc, mips16_gprel_reloc): Likewise.
	(mips_elf_shift6_reloc): Likewise.  Delete use of SET_RELOC_ADDEND.

	* elfxx-mips.c (_bfd_mips_elf_gprel16_with_gp): Use
	_bfd_relocate_contents to install an in-place addend.
	(mips_hi16): New structure.
	(mips_hi16_list): Moved from elf32-mips.c.
	(_bfd_mips_elf_hi16_reloc, _bfd_mips_elf_got16_reloc): New functions.
	(_bfd_mips_elf_lo16_reloc, _bfd_mips_elf_generic_reloc): New functions.
	(mips_elf_calculate_relocation): Assume addend is unshifted.
	(_bfd_mips_elf_relocate_section): Don't apply the howto rightshift
	on top of the usual high-part shift.  Don't shift the addend right
	before calling mips_elf_calculate_relocation.

	* elfxx-mips.h (_bfd_mips_elf_hi16_reloc): Declare.
	(_bfd_mips_elf_got16_reloc, _bfd_mips_elf_lo16_reloc): Declare.
	(_bfd_mips_elf_generic_reloc): Declare.

gas/
	* config/tc-mips.c (mips_need_elf_addend_fixup): Delete.
	(md_apply_fix3): Remove bfd_install_relocation workarounds.
	(tc_gen_reloc): Likewise. Factor handling of pc-relative relocations
	and treat fx_addnumber as relative to the relocation address.

gas/testsuite/
	* gas/mips/mips16-jalx.d: Use -mabi=o64.
	* gas/mips/mips16.d: Likewise.
	* gas/mips/elf-rel17.[sd]: New test.
	* gas/mips/mips.exp: Run it.
2003-12-18 10:23:10 +00:00
Richard Sandiford 8ab8a5c888 * config/tc-mips.c (s_change_section): When parsing the MIPS-specific
.section syntax, map SHT_MIPS_DWARF to SHT_PROGBITS.
2003-12-18 10:18:17 +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 b145f546d4 Replace --error-explicit-parallel-conflicts with --ignore-parallel-conflitcs.
Add test of parallel constraint checking.
2003-12-17 09:41:07 +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
Christian Groessler 87e921a1a1 * gas/z8k/eidi.s: Add uppercase forms. Add forms with comma
separated parameters.
2003-12-15 22:03:20 +00:00
Christian Groessler bb5737a720 * config/tc-z8k.c (struct z8k_exp): Remove, not used anywhere.
(ctrl_table): Add "flags" keyword and some comments.
	(flag_table): Convert to uppercase.
	(get_flags_operand): Be case insensitive.
	(get_interrupt_operand): Be case insensitive.  Support notation
	where the inperrupt arguments are separated by commas.
	(get_operands): Check whether get_flags_operand consumed all
	arguments.  Return failure if get_ctrl_operand didn't recognize a
	valid control register.
	(get_specific): Add case CLASS_CTRL: Test for valid control
	register for ldctlb opcode.
	(build_bytes): Check for valid control registers.
2003-12-15 22:02:42 +00:00
Nick Clifton 8d8199c311 (obj_crawl_symbol_chain): Skip defined symbols which resolve to symbolic values. 2003-12-15 12:02:38 +00:00
Mark Mitchell 5dfd8c0381 * gas/arm/thumbv6.s: Add nops.
* gas/arm/thumbv6.d: Use -M force-thumb option to objdump.  Add nops.
2003-12-15 04:47:23 +00:00
Alan Modra accf8041eb * gas/mmix/basep-8.d: Update for lcomm symbol type change.
* gas/mmix/basep-9.d: Likewise.
2003-12-13 23:32:25 +00:00
Alan Modra dbe2df79e9 * config/obj-elf.c: Convert to C90, remove unneeded prototypes and
casts.  Formatting.
	* config/obj-elf.h: Remove PARAMS.
2003-12-13 12:57:40 +00:00
Alan Modra 13c5698440 * read.c (s_lcomm_internal): Make global.
* read.h (s_lcomm_internal): Declare.
	* config/obj-elf.c (elf_pseudo_table): Handle lcomm.
	(obj_elf_lcomm): New function.
2003-12-13 08:59:24 +00:00
Alan Modra e13bab5a71 * read.c: Remove unneeded prototypes.
(s_comm): Split out code to..
	(s_comm_internal): ..here.  Tidy error returns.  Rearrange so that
	"name" from input line may be used in more places.  Merge code
	testing for valid size from elf_common.  Merge code from
	s_lcomm_internal.  Call comm_parse_extra.
	(bss_alloc): New function, split out of s_lcomm_internal and
	elf_common.
	(parse_align): Likewise.
	(s_lcomm_internal): Rewrite.
	(s_lcomm, s_lcomm_bytes): Use s_comm_internal.
	* read.h (bss_alloc, parse_align, s_comm_internal): Declare.
	* config/obj-elf.c (elf_common): Split out code to..
	(elf_common_parse): ..here.  Remove code common to s_comm_internal,
	parse_align and bss_alloc.  Rearrange and Tidy.
	* config/tc-alpha.h (TC_IMPLICIT_LCOMM_ALIGNMENT): Define.
2003-12-13 08:23:05 +00:00
Zack Weinberg 1f6c9eb084 opcodes:
* ppc-opc.c (MO): Make optional.
	(RAO, RSO, SHO): New optional forms of RA, RS, SH operands.
	(tlbwe): Accept for both PPC403 and BOOKE.  Make all operands optional.
gas:
	* tc-ppc.c (md_assemble): Rewrite comment about optional operands
	to indicate that 'all or none' is also handled.  Pluralize a
	word in another comment.
gas/testsuite:
	* gas/ppc/booke.s: Add two more forms of the mbar instruction
	and three forms of the tlbwe instruction.
	* gas/ppc/booke.d: Update to match.
2003-12-10 22:12:50 +00:00
Paul Brook 4249f881bd * gas/arm/arm.exp: Add r15-bad.
* gas/arm/r15-bad.s: New file.
	* gas/arm/r15-bad.l: New file.
2003-12-10 12:50:26 +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
Kazu Hirata d73424248e * dwarf2dbg.c: Convert to ISO-C.
* write.c: Likewise.
	* write.h: Likewise.
2003-12-06 16:16:51 +00:00
Richard Sandiford 0a6ace1e0e gas/
* config/tc-mips.c (macro): Switch misordered call to frag_grow()
	and setting of tc_fr_offset.

gas/testsuite/
	* gas/mips/elf-rel16.[sd]: New test.
	* gas/mips/mips.exp: Run it.
	* gas/mips/elf-rel-xgot-n32.d: Fix addends for "lw $5,dl1+34($5)".
	* gas/mips/elf-rel-xgot-n64.d: Likewise.
2003-12-06 13:52:23 +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
Christian Groessler f69532ae1b * config/tc-z8k.c (parse_reg): Be case insensitive when checking
register names.
	(get_ctrl_operand): Be case insensitive when checking ctrl names.
2003-12-05 23:40:04 +00:00
Christian Groessler 24bc63c55a * gas/z8k/ctrl-names.d: New file.
* gas/z8k/ctrl-names.s: New file.
	* gas/z8k/z8k.exp: Run new tests.
2003-12-05 23:37:02 +00:00
Michael Snyder bbf5b05dbf Don't blame aoliva for my work. 2003-12-05 22:00:39 +00:00
Nick Clifton 2acb89ed54 Fix SH compilation problems introduced by previous delta 2003-12-05 11:55:01 +00:00
Michael Snyder 88da98f3d4 2003-12-03 Alexandre Oliva <aoliva@redhat.com>
* config/tc-sh.c: Add support for sh4a and no-fpu variants,
	with appropriate additions to md_show_usage.
	* testsuite/gas/sh/basic.exp: Call tests for sh4a.
	* testsuite/gas/sh/{err-sh4a-fp.s, err-sh4a.s,
	err-sh4al-dsp.s, sh4a-dsp.d, sh4a-dsp.s, sh4a-fp.d,
	sh4a-fp.s, sh4a.d, sh4a.s, sh4al-dsp.d, sh4al-dsp.s:
	New files, tests for sh4a and related variants.
	* doc/c-sh.texi: Document new -isa options.
	* doc/c-sh64.texi: Ditto.
	* NEWS: Mention new support for sh4a.
2003-12-05 01:59:55 +00:00
H.J. Lu b80901c73f 2003-11-24 H.J. Lu <hongjiu.lu@intel.com>
* config/tc-alpha.c (s_alpha_end): Don't crash if there is no
	matching .ent.
2003-12-04 00:54:16 +00:00
Alan Modra 147f6d69f4 * tc.h (md_pcrel_from): Don't declare if defined as a macro. 2003-12-03 23:39:38 +00:00
Nick Clifton eb764db865 oops - forogot to mention the new support here. 2003-12-03 17:42:12 +00:00
Nick Clifton 8884595866 Add support for the M32R2 processor. 2003-12-03 17:38:48 +00:00
Nick Clifton f8fc344381 Add vax-linux-gnu target 2003-12-03 15:07:17 +00:00
Kazu Hirata 2436151891 * messages.c: Convert to ISO-C.
* obj.h: Likewise.
	* output-file.c: Likewise.
	* output-file.h: Likewise.
	* sb.c: Likewise.
	* sb.h: Likewise.
	* stabs.c: Likewise.
	* subsegs.c: Likewise.
	* subsegs.h: Likewise.
	* tc.h: Likewise.
2003-12-03 03:39:58 +00:00
Kazu Hirata 7efd976aa8 * config/obj-elf.c: Remove ARGSUSED. 2003-12-03 03:20:13 +00:00
Alan Modra 9fa06c65f0 make "dep-am" 2003-12-02 08:14:35 +00:00
Kaz Kojima a3f9a7e943 * gas/sh/basic.exp: Define ASFLAGS appropriately and don't do
dsp test for sh64/sh5 targets.
	* gas/sh/sh64/crange1.s: Tidy up to match data alignment.
	* gas/sh/sh64/crange1-1.d: Update.
	* gas/sh/sh64/crange1-2.d: Likewise.
	* gas/sh/sh64/datal32-3.d: Likewise.
	* gas/sh/sh64/datal64-3.d: Likewise.
	* gas/sh/sh64/localcom-1.d: Likewise.
2003-12-01 11:59:14 +00:00
Kazu Hirata 74937d39a2 * symbols.c: Convert to ISO-C.
* symbols.h: Likewise.
2003-11-30 19:07:12 +00:00
Christian Groessler 464800cafe * config/tc-z8k.c: Convert to ISO-C.
* config/tc-z8k.h: Likewise.
2003-11-28 20:10:18 +00:00
Kazu Hirata 39e6acbdff * read.c: Convert to ISO-C.
* read.h: Likewise.
2003-11-27 19:14:41 +00:00
Nick Clifton 028f09bd7f Check for alignment when emitting constants on the sh-elf target 2003-11-27 08:29:29 +00:00
Alexandre Oliva a939d0907f * config/tc-frv.c (md_pcrel_from_section): Don't adjust when
referencing symbol in a different section.
2003-11-27 02:30:55 +00:00
Alexandre Oliva b49dc2a109 * gas/frv/reloc1.[sd]: Test references to external symbols and
inter-section references too.
2003-11-27 02:30:17 +00:00
Christian Groessler d5bf5799d9 * config/tc-z8k.c (s_segm): Fix indentation.
(md_apply_fix3): Likewise.
	(cc_names): Add alias names for the names generated by the
	disassembler.
	(get_cc_operand): Be case insensitive.
	(get_operands): Improve error handling for cc operands.
	(check_operand): Not used, remove.
	(md_assemble): Remove unused variable prev_opcode.  Skip
	whitespace until end-of-line only.  Restore *op_end after call to
	hash_find.
2003-11-26 21:24:53 +00:00
Christian Groessler 0f03428ad4 * gas/z8k/jmp-cc.d: New file.
* gas/z8k/jmp-cc.s: New file.
	* gas/z8k/ret-cc.d: New file.
	* gas/z8k/ret-cc.s: New file.
	* gas/z8k/z8k.exp: Run new tests.
2003-11-26 21:23:43 +00:00
Nick Clifton b4f16abb97 Revert change to t01_mov test.
Fix ldm/stm verifying code to allow er4-er7 for H8SX.
2003-11-26 13:18:23 +00:00
Kazu Hirata 3db8d52cad * config/tc-h8300.c (h8_exp): Remove. 2003-11-25 23:09:47 +00:00
Nick Clifton 4892e51064 Catch illegal register pairings in ldm/stm instructions.
Update test files to avoid illegal pairings.
2003-11-25 16:13:36 +00:00
Kazu Hirata 254d758cf9 * listing.c: Convert to ISO-C.
* listing.h: Likewise.
	* macro.c: Likewise.
	* macro.h: Likewise.
2003-11-24 17:52:33 +00:00
Jakub Jelinek 70b911ad67 * app.c (do_scrub_chars): Add PUT (ch) and ch = GET ()
when transitioning from states 14 or 15 to 0 or 1.
2003-11-24 09:24:39 +00:00
Kazu Hirata b1f1fa963c * hash.c: Convert to ISO-C.
* hash.h: Likewise.
	* input-file.c: Likewise.
	* input-file.h: Likewise.
	* input-scrub.c: Likewise.
	* itbl-ops.c: Likewise.
	* itbl-ops.h: Likewise.
2003-11-24 03:37:58 +00:00
Kazu Hirata 66faad269b * config/tc-h8300.c (Hmode): Make it global.
(Smode): Likewise.
	(Nmode): Likewise.
	(SXmode): Likewise.
2003-11-23 15:43:50 +00:00