Commit graph

2034 commits

Author SHA1 Message Date
Thiemo Seufer
048cdf861a * config/tc-mips.c (append_insn): Don't do r3900 interlock
optimization for -mtune=r3900, as this will break on other CPUs.
2004-01-21 23:25:38 +00:00
Nick Clifton
28d39d1a3a Stop indexed move byte instructions from being relaxed. 2004-01-21 11:17:53 +00:00
Jakub Jelinek
2666455359 * config/tc-sparc.c (sparc_ip): Disallow %f32-%f63 for single
precision operands.
2004-01-18 23:47:03 +00:00
Maciej W. Rozycki
895921c97e gas/
* config/tc-mips.c (append_insn): Properly detect variant frags
that preclude swapping of relaxed branches.  Correctly swap
instructions between frags when dealing with relaxed branches.

gas/testsuite/
* gas/mips/relax-swap1-mips1.d: New test for branch relaxation
with swapping for MIPS1.
* gas/mips/relax-swap1-mips2.d: New test for branch relaxation
with swapping for MIPS2.
* gas/mips/relax-swap1.l: Stderr output for the new tests.
* gas/mips/relax-swap1.s: Source for the new tests.
* gas/mips/relax-swap2.d: New test for branch likely relaxation
with swapping.
* gas/mips/relax-swap2.l: Stderr output for the new test.
* gas/mips/relax-swap2.s: Source for the new test.
* gas/mips/mips.exp: Run the new tests.
2004-01-14 18:01:09 +00:00
Maciej W. Rozycki
f8b7303064 * gettext.m4: Quote names of macros to be defined by AC_DEFUN
throughout.

* acinclude.m4: Quote names of macros to be defined by AC_DEFUN
throughout.
* aclocal.m4: Regenerate.
* configure: Regenerate.
2004-01-14 13:41:37 +00:00
Nick Clifton
ca9a79a174 Add support for relaxation of bit manipulation instructions. 2004-01-12 15:02:22 +00:00
Richard Sandiford
cc3d92a51a gas/
* config/tc-mips.c (macro_build_jalr): When adding an R_MIPS_JALR
	reloc, reserve space for the delay slot as well as the jalr itself.

gas/testsuite/
	* gas/mips/elf-rel18.[sd]: New test.
	* gas/mips/mips.exp: Run it.
2004-01-12 09:30:49 +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
Ian Lance Taylor
78849248c0 * config/tc-mips.c (warn_nops): Remove static variable.
(macro): Remove test of warn_nops.
	(md_shortops): Remove 'n'.
	(md_parse_option): Remove 'n' case.
	(md_show_usage): Remove -n.
	* doc/as.texinfo (Overview): Remove MIPS -n option.
	* doc/c-mips.texi (MIPS Opts): Remove mention -n.
	* NEWS: Mention removal of MIPS -n option.
2004-01-09 02:34:04 +00:00
Ian Lance Taylor
819124619a * config/tc-mips.c (ISA_HAS_COPROC_DELAYS): Remove.
(cop_interlocks): Check ISA level.
	(cop_mem_interlocks): Define.
	(reg_needs_delay): Check cop_interlocks rather than
	ISA_HAS_COPROC_DELAYS.
	(append_insn): Likewise.  Use cop_mem_interlocks rather than
	directly checking mips_opts.isa.
	(mips_emit_delays): Likewise.
2004-01-09 02:16:30 +00:00
H.J. Lu
73f209588f 2004-01-07 H.J. Lu <hongjiu.lu@intel.com>
* config/tc-ia64.c (unwind): Move next_slot_number and
	next_slot_frag to ...
	(unw_rec_list): Here.
	(free_list_records): Removed.
	(output_unw_records): Likewise.
	(generate_unwind_image): Make it void.
	(alloc_record): Initialize next_slot_number and next_slot_frag.
	(slot_index): Take .org, .space and .align into account.
	(fixup_unw_records): Don't set slot_number to 0. Use
	list->next_slot_number and list->next_slot_frag instead of
	unwind.next_slot_number and unwind.next_slot_frag.
	(ia64_convert_frag): New.
	(generate_unwind_image): Generate a rs_machine_dependent frag
	for unwind record.
	(emit_one_bundle): Use list->next_slot_number and
	list->next_slot_frag instead of unwind.next_slot_number and
	unwind.next_slot_frag.

	* config/tc-ia64.h (md_convert_frag): Defined as
	ia64_convert_frag.
	(md_estimate_size_before_relax): Defined as (f)->fr_var.
2004-01-07 19:19:35 +00:00
Alexandre Oliva
99d09cdbd4 2003-12-19 Alexandre Oliva <aoliva@redhat.com>
* config/tc-frv.h (md_apply_fix3): Don't define.
* config/tc-frv.c (md_apply_fix3): New.  Shift/truncate %hi/%lo
operands.
* config/tc-frv.h (TC_FORCE_RELOCATION_SUB_LOCAL): Define.
2003-10-07  Alexandre Oliva  <aoliva@redhat.com>
* config/tc-frv.c (line_separator_chars): Add `!'.
2003-09-19  Alexandre Oliva  <aoliva@redhat.com>
* config/tc-frv.c (md_assemble): Clear insn upfront.
2003-09-18  Alexandre Oliva  <aoliva@redhat.com>
* config/tc-frv.c (OPTION_FDPIC): New macro.
(md_longopts): Add mfdpic.
(md_parse_option): Handle it.
2003-08-04  Alexandre Oliva  <aoliva@redhat.com>
* config/tc-frv.c (md_cgen_lookup_reloc) <FRV_OPERAND_D12,
FRV_OPERAND_S12>: Use reloc type encoded in fix-up.
(frv_pic_ptr): Parse funcdesc.
2004-01-06 19:19:18 +00:00
Maciej W. Rozycki
4a4c4a1dfb * doc/as.texinfo: Let texi2pod parse asconfig.texi and
gasver.texi.  Remove duplicate symbol definitions for texi2pod.
2004-01-05 22:19:33 +00:00
Maciej W. Rozycki
2251dd8905 * Makefile.am (Makefile): Move the dependency on
$(BFDDIR)/configure.in to...
(CONFIG_STATUS_DEPENDENCIES): ... here.
(AUTOMAKE_OPTIONS): Require automake 1.8.
* Makefile.in: Regenerate.
* doc/Makefile.am (BASEDIR, BFDDIR): Define.
(CONFIG_STATUS_DEPENDENCIES): Add a dependency on
$(BFDDIR)/configure.in here as well.
* doc/Makefile.in: Regenerate.
2004-01-05 22:16:05 +00:00
Maciej W. Rozycki
c658116845 * Makefile.am (install, install-info, RECURSIVE_TARGETS): Remove.
* Makefile.in: Regenerate.
* aclocal.m4: Regenerate.
* doc/Makefile.am (install, install-info): Remove.
(install-data-local): A new hook for install-info.
(AUTOMAKE_OPTIONS): Require automake 1.8.
* doc/Makefile.in: Regenerate.
2004-01-05 22:13:52 +00:00
Nick Clifton
303e7b798f Update description of FP behaviour 2004-01-02 17:32:12 +00:00
Nick Clifton
b50c15dce9 Add m68k-uclinux target 2004-01-02 16:37:12 +00:00
Alan Modra
c9e214e571 Split ChangeLog files. 2004-01-02 11:16:21 +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
c5f9820468 * doc/c-arm.texi: Document -march=armv6. 2003-12-23 18:48:02 +00:00
Paul Brook
84255574d4 * config/tc-arm.c (arm_archs): Add armv6. 2003-12-23 18:41:58 +00:00
Nick Clifton
31a91399d1 (md_apply_fix3): Handle the case where a .byte directive generates a
pc-relative relocation.
2003-12-20 08:01:47 +00:00
Nick Clifton
5a1964ecbd Fix calls to as_perror() so that the errno system message will be printed.
Fix as_perror() so that errno is not corrupted.
2003-12-19 15:23:41 +00:00
Nick Clifton
6edf0760c5 Add support for m32r-linux target, including a RELA ABI and PIC. 2003-12-19 11:44:01 +00:00
Nick Clifton
19e7825f04 (input_file_open): Remove call to stat(). Add a check for getc() failing, and
catch the case where the failure is due to an attempt to read a directory.
2003-12-18 18:03:08 +00:00
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
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
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
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
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
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