Commit graph

757 commits

Author SHA1 Message Date
Jan Beulich
d3156ecc65 gas/
2005-01-31  Jan Beulich  <jbeulich@novell.com>

	* config/tc-ia64.c (parse_operands): Parse all specified operands,
	immediately discarding (but counting) those exceeding the maximum
	possible amount. Track whether output and input operand counts ever
	matched, and use this to better indicate which of the operands/
	operand types was wrong; specifically don't default to pointing to
	the first operand.

gas/testsuite/
2005-01-31  Jan Beulich  <jbeulich@novell.com>

	* gas/ia64/operands.[ls]: New.
	* gas/ia64/ia64.exp: Run new test.
2005-01-31 10:01:02 +00:00
Jan Beulich
75e0991382 gas/
2005-01-31  Jan Beulich  <jbeulich@novell.com>

	* config/tc-ia64.c (unwind): Remove proc_end (now an automatic
	variable in dot_endp). Add body and insn. Make prologue,
	prologue_mask, body, and insn bitfields.
	(fixup_unw_records): Remove spurious new-lines from end of diagnostic
	messages.
	(in_procedure, in_prologue, in_body): New.
	(dot_fframe, dot_vframe, dot_vframesp, dot_vframepsp, dot_save,
	dot_restore, dot_restorereg, dot_restorereg_p, dot_handlerdata,
	dot_unwentry, dot_altrp, dot_savemem, dot_saveg, dot_savef, dot_saveb,
	dot_savegf, dot_spill, dot_spillreg, dot_spillmem, dot_spillreg_p,
	dot_spillmem_p, dot_label_state, dot_copy_state, dot_unwabi,
	dot_personality): Use the appropriate one of the above.
	(dot_proc): Clear unwind.proc_start; set to current location only if
	none of the entry points were valid. Check for non-zero-length entry
	point names. Check that entry points aren't defined, yet. Clear
	unwind.prologue, unwind.body, and unwind.insn.
	(dot_body): Call in_procedure. Check that first directive in procedure
	had no insns emitted before. Set unwind.body.
	(dot_prologue): Call in_procedure. Check that not already in prologue.
	Check that first directive in procedure had no insns emitted before.
	Clear unwind.body.
	(dot_endp): Call in_procedure. Declare proc_end. Check for non-zero-
	length entry point names. Check that entry points became defined.
	(md_assemble): Set unwind.insn once unwind.proc_start is defined.

gas/testsuite/
2005-01-31  Jan Beulich  <jbeulich@novell.com>

	* gas/ia64/proc.[ls]: New.
	* gas/ia64/unwind-err.[ls]: New.
	* gas/ia64/ia64.exp: Run new tests.
2005-01-31 09:46:15 +00:00
Jan Beulich
f4660e2c88 gas/
2005-01-31  Jan Beulich  <jbeulich@novell.com>

	* config/tc-ia64.c (emit_one_bundle): Snapshot manual bundling state
	before actually using it. Don't generate an error in manual bundling
	mode when looking at an insn requiring slot 2 but not yet at slot 2.
	Don't generate an error in manual bundling mode when looking at an
	insn required to be last in its group but the required slot hasn't
	been reached, yet. Allow conversion from MII to MI;I for bundle
	consisting of only 2 insns with the stop between them. Suppress
	various meaningless errors resulting from detecting earlier ones.

gas/testsuite/
2005-01-31  Jan Beulich  <jbeulich@novell.com>

	* gas/ia64/bundling.[ds]: New.
	* gas/ia64/label.[ls]: New.
	* gas/ia64/last.[ls]: New.
	* gas/ia64/slot2.[ls]: New.
	* gas/ia64/ia64.exp: Run new tests.
2005-01-31 09:17:14 +00:00
Jan Beulich
60b9a61772 gas/
2005-01-31  Jan Beulich  <jbeulich@novell.com>

	* config/tc-ia64.c (parse_operands): Also handle alloc without first
	input being ar.pfs.

gas/testsuite/
2005-01-31  Jan Beulich  <jbeulich@novell.com>

	* gas/ia64/pseudo.[ds]: New.
	* gas/ia64/ia64.exp: Run new test.

opcodes/
2005-01-31  Jan Beulich  <jbeulich@novell.com>

	* ia64-gen.c (NELEMS): Define.
	(shrink): Generate alias with missing second predicate register when
	opcode has two outputs and these are both predicates.
	* ia64-opc-i.c (FULL17): Define.
	(ia64_opcodes_i): Add mov-to-pr alias without second input. Use FULL17
	here to generate output template.
	(TBITCM, TNATCM): Undefine after use.
	* ia64-opc-m.c (ia64_opcodes_i): Add alloc alias without ar.pfs as
	first input. Add ld16 aliases without ar.csd as second output. Add
	st16 aliases without ar.csd as second input. Add cmpxchg aliases
	without ar.ccv as third input. Add cmp8xchg16 aliases without ar.csd/
	ar.ccv as third/fourth inputs. Consolidate through...
	(CMPXCHG_acq, CMPXCHG_rel, CMPXCHG_1, CMPXCHG_2, CMPXCHG_4, CMPXCHG_8,
	CMPXCHGn, CMP8XCHG16, CMPXCHG_ALL): Define.
	* ia64-asmtab.c: Regenerate.
2005-01-31 08:48:32 +00:00
Jan Beulich
09124b3f56 gas/
2005-01-27  Jan Beulich  <jbeulich@novell.com>

	* config/tc-ia64.c (emit_one_bundle): Change "?imbf??" to "?ibmfxx".

gas/testsuite/
2005-01-27  Jan Beulich  <jbeulich@novell.com>

	* gas/ia64/nop_x.[ds]: New.
	* gas/ia64/ia64.exp: Run new test.
2005-01-27 09:12:51 +00:00
Jan Beulich
97762d08db gas/
2005-01-25  Jan Beulich  <jbeulich@novell.com>

	* config/tc-ia64.c (emit_one_bundle): Add late resolution of move
	to/from application registers dynamic insns.
	(md_assemble): Defer resolution of move to/from application registers
	dynamic insns when they can be issued on either the I- or M-units.

gas/testsuite/
2005-01-25  Jan Beulich  <jbeulich@novell.com>

	* gas/ia64/dv-waw-err.l: Don't expect ar112 move warning to refer to
	M-unit.
	* gas/ia64/mov-ar.[ds]: New.
	* gas/ia64/ia64.exp: Run new test.
2005-01-27 08:41:25 +00:00
Nick Clifton
7fe1cadb05 sleb128.d: Do not assume an 8-bit byte.
quad.d: Likewise.  Also allow for ports which order bytes within words in other
  than simple big-endian or little-endian fashions.
2005-01-24 15:32:19 +00:00
Richard Sandiford
e5604d797e * read.c (convert_to_bignum): New function, split out from...
(emit_expr): ...here.  Handle the case where X_add_number is
	positive and the input value is negative.
	(output_big_sleb128): Fix setting of continuation bit.  Check whether
	the final byte needs to be sign-extended.  Fix size-shrinking loop.
	(emit_leb128_expr): When generating a signed leb128, see whether the
	sign of an O_constant's X_add_number matches the sign of the input
	value.  Use a bignum if not.
2005-01-19 11:53:53 +00:00
Nick Clifton
e38bc3b524 Fix SH2A machine variants in order to correctly select instruction inheritance 2005-01-17 14:08:17 +00:00
H.J. Lu
2033b4b97d gas/testsuite/
2005-01-12  H.J. Lu  <hongjiu.lu@intel.com>

	* i386/i386.exp: Run "sib".

	* gas/i386/sib.d: New file.
	* gas/i386/sib.s: Likewise.

opcodes/

2005-01-12  H.J. Lu  <hongjiu.lu@intel.com>

	* i386-dis.c (OP_E): Ignore scale when index == 0x4 in SIB.
2005-01-12 19:12:52 +00:00
Andreas Schwab
1ad119f112 * gas/i386/intel16.d: Ignore trailing text with #pass.
* gas/i386/intelok.d: Likewise.
	* gas/i386/prefix.d: Likewise.
	* gas/i386/sub.d: Likewise.
	* gas/i386/padlock.d: Likewise.
	* gas/i386/x86_64.d: Likewise.
2005-01-09 14:12:07 +00:00
Eric Botcazou
845e9b5108 * gas/elf/elf.exp (section5): Use 0-9 instead of [:digit:]. 2005-01-05 13:38:39 +00:00
Alan Modra
8d15ae7c1c * gas/elf/elf.exp: Don't list reloc sections.
* gas/elf/section5.e: Remove reloc sections.
2004-12-30 22:41:31 +00:00
Tomer Levi
f4426611f2 2004-12-21 Tomer Levi <Tomer.Levi@nsc.com>
* gas/crx/beq_insn.d: Update reference file according to
	disassembler printing method.
	* gas/crx/bit_insn.d: Likewise.
	* gas/crx/br_insn.d: Likewise.
	* gas/crx/cmpbr_insn.d: Likewise.
	* gas/crx/cop_insn.d: Likewise.
	* gas/crx/load_stor_insn.d: Likewise.
2004-12-21 16:26:54 +00:00
Hans-Peter Nilsson
7f1c66244c * gas/elf/section5.e, gas/elf/section5.l: Replace [:digit:],
[:xdigit:] and {N} in regexps with [0-9], [0-9a-fA-F] and N
	copies, to cater to tcl versions before Tcl 8.2.3.
2004-12-21 13:09:55 +00:00
Nick Clifton
a904de94bd * gas/elf/section5.[ls]: Use % instead of @ in .section directives. 2004-12-20 15:35:53 +00:00
Richard Sandiford
1e50d24d55 include/elf/
* v850.h (R_V850_LO16_SPLIT_OFFSET): New reloc.

bfd/
	* reloc.c (BFD_RELOC_V850_LO16_SPLIT_OFFSET): New bfd_reloc_code_type.
	* elf32-v850.c (v850_elf_howto_table): Add entry for
	R_V850_LO16_SPLIT_OFFSET.
	(v850_elf_reloc_map): Map it to BFD_RELOC_V850_LO16_SPLIT_OFFSET.
	(v850_elf_perform_lo16_relocation): New function, extracted from...
	(v850_elf_perform_relocation): ...here.  Use it to handle
	R_V850_LO16_SPLIT_OFFSET.
	(v850_elf_check_relocs, v850_elf_final_link_relocate): Handle
	R_V850_LO16_SPLIT_OFFSET.
	* libbfd.h, bfd-in2.h: Regenerate.

gas/
	* config/tc-v850.c (handle_lo16): New function.
	(v850_reloc_prefix): Use it to check lo().
	(md_assemble, md_apply_fix3): Handle BFD_RELOC_V850_LO16_SPLIT_OFFSET.

gas/testsuite/
	* gas/v850/split-lo16.{s,d}: New test.
	* gas/v850/v850.exp: Run it.

ld/testsuite/
	* ld-v850: New directory.
2004-12-16 16:56:04 +00:00
Jan Beulich
7a6d0b32af gas/
2004-12-15 Jan Beulich  <jbeulich@novell.com>

	* config/obj-elf.c (obj_elf_change_section): Only set type and
	attributes on new sections. Emit warning when type of re-declared
	section doesn't match.

gas/testsuite/
2004-12-15 Jan Beulich  <jbeulich@novell.com>

	* gas/elf/section5.[els]: New.
2004-12-16 13:23:22 +00:00
Richard Sandiford
c0d8293fa5 * gas/mips/elf-rel25.d, gas/mips/elf-rel25a.d: Cope with different
.text alignments.
2004-12-13 13:02:10 +00:00
Alan Modra
5c799c0790 bfd/
* elfcode.h (elf_slurp_symbol_table): Use bfd_elf_sym_name so that
	canonical sections syms have a name.

gas/testsuite/
	Update for changed section syms.

ld/testsuite/
	Update for changed section syms.
2004-12-11 04:32:37 +00:00
Ian Lance Taylor
e8ede7c71c * gas/mips/elf-rel23a.d: New test.
* gas/mips/elf-rel23b.d: New test.
	* gas/mips/elf-rel25.s: New test.
	* gas/mips/elf-rel25.d: New test.
	* gas/mips/elf-rel25a.d: New test.
	* gas/mips/mips.exp: Run new tests.
2004-12-10 19:48:42 +00:00
Paul Brook
be1b2b4b3b * config/tc-arm.c (s_arm_unwind_fnend): Use R_ARM_PREL31 relocation
for function start.
	* testsuite/gas/arm/unwind.d: Expect R_ARM_PREL31 relocations.
2004-12-09 20:25:24 +00:00
Ian Lance Taylor
42581a2496 * gas/mips/branch-swap.d: Pass -32 to as. 2004-12-09 15:44:17 +00:00
Tomer Levi
f75dc283c7 2004-11-29 Tomer Levi <Tomer.Levi@nsc.com>
* gas/crx/br_insn.d: Fix error in expected disassembly.
2004-11-29 16:24:58 +00:00
Nick Clifton
a7498ae6da Fixed a pcrel relocte miss between different section in the same module. 2004-11-29 15:09:28 +00:00
Richard Earnshaw
907362e540 * gas/testsuite/arm/thumbv6.d (setend): Remove stray tab at end
of dump pattern.
2004-11-27 11:12:19 +00:00
H.J. Lu
603be052f6 2004-11-25 H.J. Lu <hongjiu.lu@intel.com>
* gas/ia64/group-1.d: Adjust expected secion ordering.
2004-11-25 20:10:03 +00:00
Jan Beulich
37edbb65ad gas/
2004-11-25 Jan Beulich <jbeulich@novell.com>

	* config/tc-i386.c (optimize_imm): Adjust immediates to only those
	permissible for the selected instruction suffix.
	(process_suffix): For DefaultSize instructions, suppressing the
	guessing of a 'q' suffix if the instruction doesn't support it is
	pointless, because only an 'l' suffix can be guessed in this place.

gas/testsuite/
2004-11-25 Jan Beulich <jbeulich@novell.com>
	* gas/i386/x86-64-inval.[sl]: Remove sahf/lahf.

include/opcode/
2004-11-25 Jan Beulich <jbeulich@novell.com>

	* i386.h: CpuNo64 mov can't reasonably have a 'q' suffix. Moves
	to/from test registers are illegal in 64-bit mode. Add missing
	NoRex64 to sidt. fxsave/fxrstor now allow for a 'q' suffix
	(previously one had to explicitly encode a rex64 prefix). Re-enable
	lahf/sahf in 64-bit mode as at least some Athlon64/Opteron steppings
	support it there. Add cmpxchg16b as per Intel's 64-bit documentation.
2004-11-25 08:42:54 +00:00
Paul Brook
47cc2cf519 2004-11-24 Paul Brook <paul@codesourcery.com>
bfd/
	* elf.c (assign_section_numbers): Number SHT_GROUP sections first.
gas/testsuite/
	* gas/elf/group0a.d: Adjust expected secion ordering.
	* gas/elf/group1a.d: Ditto.
	* gas/elf/section4.d: Ditto.
2004-11-25 00:56:00 +00:00
Nick Clifton
5515a510de Remove IQ10 support from IQ2000 port 2004-11-24 13:23:53 +00:00
Nick Clifton
d8b2b7a553 Add checks for other variants of the sr and st instruction. 2004-11-24 12:03:30 +00:00
Nick Clifton
dae1b34eab * config/tc-mn10300.c (md_relax_table): More fixes to the offsets in this table.
They should be correct now.
* gas/mn10300/relax.s: Add further tests of the relaxing of branch instructions.
* gas/mn10300/relax.d: Add expected relocations.
2004-11-23 14:49:12 +00:00
Nick Clifton
d81acc42a2 * opcode/arc-opc.c (insert_base): Modify ls_operand[LS_OFFSET] to reflect the
change to the short immediate syntax.
* gas/arc/ld.s: Add check of load of a long immediate.
* gas/arc/ld.d: Add expected disassembly.
2004-11-22 17:44:03 +00:00
Hans-Peter Nilsson
a7eec87693 * gas/all/gas.exp: Run dg-runtest for all err-*.s and warn-*.s.
* gas/all/err-1.s, gas/all/warn-1.s: New tests.
2004-11-22 13:00:24 +00:00
Nick Clifton
444bf5f39e Enable bfd_assembler by default for the MAXQ port.
Adjust the testsuite expected disassemblies to take this into account.
2004-11-18 16:20:11 +00:00
Daniel Jacobowitz
b7693d0213 bfd/
* elf32-arm.c (PLT_THUMB_STUB_SIZE): Define.
	(elf32_arm_plt_thumb_stub): New.
	(struct elf32_arm_link_hash_entry): Add plt_thumb_refcount
	and plt_got_offset.
	(elf32_arm_link_hash_traverse): Fix typo.
	(elf32_arm_link_hash_table): Add obfd.
	(elf32_arm_link_hash_newfunc): Initialize new fields.
	(elf32_arm_copy_indirect_symbol): Copy plt_thumb_refcount.
	(elf32_arm_link_hash_table_create): Initialize obfd.
	(record_arm_to_thumb_glue): Mark the glue as a local ARM function.
	(record_thumb_to_arm_glue): Mark the glue as a local Thumb function.
	(bfd_elf32_arm_get_bfd_for_interworking): Verify that the
	interworking BFD is not dynamic.
	(bfd_elf32_arm_process_before_allocation): Handle R_ARM_PLT32.  Do
	not emit glue for PLT references.
	(elf32_arm_final_link_relocate): Handle Thumb functions.  Do not
	emit glue for PLT references.  Support the Thumb PLT prefix.
	(elf32_arm_gc_sweep_hook): Handle R_ARM_THM_PC22 and
	plt_thumb_refcount.
	(elf32_arm_check_relocs): Likewise.
	(elf32_arm_adjust_dynamic_symbol): Handle Thumb functions and
	plt_thumb_refcount.
	(allocate_dynrelocs): Handle Thumb PLT references.
	(elf32_arm_finish_dynamic_symbol): Likewise.
	(elf32_arm_symbol_processing): New function.
	(elf_backend_symbol_processing): Define.
opcodes/
	* arm-dis.c (WORD_ADDRESS): Define.
	(print_insn): Use it.  Correct big-endian end-of-section handling.
gas/testsuite/
	* gas/arm/mapping.d: Expect F markers for Thumb code.
	* gas/arm/unwind.d: Update big-endian pattern.
ld/
	* emultempl/armelf.em (arm_elf_set_bfd_for_interworking): Don't use
	a dynamic object for stubs.
ld/testsuite/
	* ld-arm/mixed-app.d, ld-arm/mixed-app.r, ld-arm/mixed-app.s,
	ld-arm/mixed-app.sym, ld-arm/mixed-lib.d, ld-arm/mixed-lib.r,
	ld-arm/mixed-lib.s, ld-arm/mixed-lib.sym, ld-arm/arm-dyn.ld,
	ld-arm/arm-lib.ld: New files.
	* ld-arm/arm-app-abs32.d, ld-arm/arm-app-abs32.r, ld-arm/arm-app.d,
	ld-arm/arm-app.r, ld-arm/arm-lib-plt32.d, ld-arm/arm-lib-plt32.r,
	ld-arm/arm-lib.d, ld-arm/arm-lib.r, ld-arm/arm-static-app.d,
	ld-arm/arm-static-app.r: Update for big-endian.
	* ld-arm/arm-elf.exp: Run the new tests.
2004-11-17 17:50:28 +00:00
Nick Clifton
30e857fcdb Fix off by one negative offsets for conditional branches.
Add a test of this fix.
2004-11-12 12:27:05 +00:00
Bob Wilson
a67517f48e gas/
* config/tc-xtensa.c (MAX_IMMED6): Change value to 65.
gas/testsuite/
        * gas/xtensa/short_branch_offset.s: New.
        * gas/xtensa/short_branch_offset.d: New.
        * gas/xtensa/all.exp: Run new test.
2004-11-11 19:05:43 +00:00
Alan Modra
6639a9d92b * gas/i386/opcode.s: Pad section.
* gas/i386/intelok.s: Likewise.
	* gas/i386/opcode.d: Update.
	* gas/i386/intelok.d: Update.
2004-11-10 04:29:55 +00:00
Nick Clifton
7499d566bb Add support fpr MAXQ processor 2004-11-08 13:17:43 +00:00
H.J. Lu
3b645373bf 2004-11-05 H.J. Lu <hongjiu.lu@intel.com>
* gas/i386/general.s: Add movzb.
	* gas/i386/general.l: Updated.
2004-11-06 01:50:21 +00:00
Hans-Peter Nilsson
05e6b3155d * gas/all/gas.exp: Exclude float.s for crisv32-*-*.
* gas/cris/operand-err-1.s (test.m constant): Remove xfail marker
	and update rationale.  Mark "ba [external_symbol]" and "ba [r3]"
	as invalid.
	* gas/ieee-fp/x930509a.exp: setup_xfail for crisv32-*-*.
	* gas/macros/macros.exp: setup_xfail strings for crisv32-*-*.
	* gas/cris/abs32-1.s, gas/cris/arch-err-1.s,
	gas/cris/arch-err-2.s, gas/cris/arch-err-3.s,
	gas/cris/arch-err-4.s, gas/cris/arch-err-5.s,
	gas/cris/bound-err-1.s, gas/cris/brokw-3b.s,
	gas/cris/march-err-1.s, gas/cris/march-err-2.s,
	gas/cris/push-err-1.s, gas/cris/push-err-2.s,
	gas/cris/pushpopv32.s, gas/cris/rd-abs32-1.d,
	gas/cris/rd-abs32-2.d, gas/cris/rd-arch-1.d, gas/cris/rd-arch-2.d,
	gas/cris/rd-arch-3.d, gas/cris/rd-bkw1b.d, gas/cris/rd-bkw2b.d,
	gas/cris/rd-bkw3b.d, gas/cris/rd-bound1.d, gas/cris/rd-bound1.s,
	gas/cris/rd-bound2.d, gas/cris/rd-bound3.d, gas/cris/rd-bound4.d,
	gas/cris/rd-break32.d, gas/cris/rd-ppv1032.d, gas/cris/rd-ppv32.d,
	gas/cris/rd-spr-1.d, gas/cris/rd-spr-1.s, gas/cris/rd-usp-1.d,
	gas/cris/rd-usp-1b.d, gas/cris/rd-v10_32o-1.d,
	gas/cris/rd-v10_32o-2.d, gas/cris/rd-v10_32o-2.s,
	gas/cris/rd-v32-b1.d, gas/cris/rd-v32-b1.s, gas/cris/rd-v32-b2.d,
	gas/cris/rd-v32-b2.s, gas/cris/rd-v32-b3.d, gas/cris/rd-v32-b3.s,
	gas/cris/rd-v32-f1.d, gas/cris/rd-v32-f1.s, gas/cris/rd-v32-i1.d,
	gas/cris/rd-v32-i1.s, gas/cris/rd-v32-l1.d, gas/cris/rd-v32-l1.s,
	gas/cris/rd-v32-l3.d, gas/cris/rd-v32-l3.s, gas/cris/rd-v32-l4.d,
	gas/cris/rd-v32-l4.s, gas/cris/rd-v32o-1.d, gas/cris/rd-v32s-1.d,
	gas/cris/rd-v32s-2.d, gas/cris/rd-v32s-2.s, gas/cris/rd-v32s-3.d,
	gas/cris/rd-v32s-3.s, gas/cris/rd-v32s-4.d, gas/cris/rd-v32s-4.s,
	gas/cris/rd-vao-1.d, gas/cris/v32-err-1.s, gas/cris/v32-err-10.s,
	gas/cris/v32-err-11.s, gas/cris/v32-err-2.s, gas/cris/v32-err-3.s,
	gas/cris/v32-err-4.s, gas/cris/v32-err-5.s, gas/cris/v32-err-6.s,
	gas/cris/v32-err-7.s, gas/cris/v32-err-8.s, gas/cris/v32-err-9.s:
	New tests.
2004-11-04 15:03:06 +00:00
Hans-Peter Nilsson
3f1d9edd10 Format last entry 2004-11-04 14:39:11 +00:00
Jan Beulich
9306ca4a20 gas/
2004-11-04 Jan Beulich <jbeulich@novell.com>

	* config/tc-i386.c (set_intel_syntax): Allow % in symbol names when
	intel syntax and no register prefix, allow $ in symbol names when
	intel syntax.
	(set_16bit_gcc_code_flag): Replace literal 'l' by LONG_MNEM_SUFFIX.
	(intel_float_operand): Add fourth return value indicating math control
	operations. Make classification more precise.
	(md_assemble): Complain if memory operand of mov[sz]x has no size
	specified.
	(parse_insn): Translate word operands to floating point instructions
	operating on integers as well as control instructions to short ones
	as expected by AT&T syntax. Translate 'd' suffix to short one only for
	floating point instructions operating on non-integer operands.
	(match_template): Remove fldcw special case. Adjust q-suffix handling
	to permit it on fild/fistp/fisttp in AT&T mode.
	(process_suffix): Don't guess DefaultSize insns' suffix from
	stackop_size for certain floating point control instructions. Guess
	suffix for branch and [ls][gi]dt based on flag_code. Split error
	messages for Intel and AT&T syntax, and make the condition more strict
	for the former. Adjust suppressing of generation of operand size
	overrides.
	(intel parser): Allow the full set of MASM operators. Add FWORD, TBYTE,
	OWORD, and XMMWORD operand size specifiers (TBYTE replaces XWORD). Add
	more error checking.
	* config/tc-i386.h (BYTE_PTR WORD_PTR DWORD_PTR QWORD_PTR XWORD_PTR
	SHORT OFFSET_FLAT FLAT NONE_FOUND): Remove unused defines.

gas/testsuite/
2004-11-04 Jan Beulich <jbeulich@novell.com>
	* gas/i386/i386.exp: Execute new tests intelbad and intelok.
	* gas/i386/intelbad.[sl]: New test to check for various things not
	permitted in Intel mode.
	* gas/i386/intel.d, gas/i386/opcode.d, gas/i386/x86-64-opcode.d:
	Adjust for change to segment register store.
	* gas/i386/intelok.[sd]: New test to check various Intel mode specific
	things get handled correctly.
	* gas/i386/x86_64.[sd]: Remove unsupported constructs referring to
	'high' and 'low' parts of an operand, which the parser previously
	accepted while neither telling that it's not supported nor that it
	ignored the remainder of the line following these supposed keywords.

include/opcode/
2004-11-04 Jan Beulich <jbeulich@novell.com>

	* i386.h (sldx_Suf): Remove.
	(FP, l_FP, sl_FP, x_FP): Don't imply IgnoreSize.
	(q_FP): Define, implying no REX64.
	(x_FP, sl_FP): Imply FloatMF.
	(i386_optab): Split reg and mem forms of moving from segment registers
	so that the memory forms can ignore the 16-/32-bit operand size
	distinction. Adjust a few others for Intel mode. Remove *FP uses from
	all non-floating-point instructions. Unite 32- and 64-bit forms of
	movsx, movzx, and movd. Adjust floating point operations for the above
	changes to the *FP macros. Add DefaultSize to floating point control
	insns operating on larger memory ranges. Remove left over comments
	hinting at certain insns being Intel-syntax ones where the ones
	actually meant are already gone.

opcodes/
2004-11-04 Jan Beulich <jbeulich@novell.com>

	* i386-dis.c (Eq, Edqw, indirEp, Gdq, I1): Define.
	(indirEb): Remove.
	(Mp): Use f_mode rather than none at all.
	(t_mode, dq_mode, dqw_mode, f_mode, const_1_mode): Define. t_mode
	replaces what previously was x_mode; x_mode now means 128-bit SSE
	operands.
	(dis386): Make far jumps and calls have an 'l' prefix only in AT&T
	mode. movmskpX's, pextrw's, and pmovmskb's first operands are Gdq.
	pinsrw's second operand is Edqw.
	(grps): 1-bit shifts' and rotates' second operands are I1. cmpxchg8b's
	operand is Eq. movntq's and movntdq's first operands are EM. s[gi]dt,
	fldenv, frstor, fsave, fstenv all should also have suffixes in Intel
	mode when an operand size override is present or always suffixing.
	More instructions will need to be added to this group.
	(putop): Handle new macro chars 'C' (short/long suffix selector),
	'I' (Intel mode override for following macro char), and 'J' (for
	adding the 'l' prefix to far branches in AT&T mode). When an
	alternative was specified in the template, honor macro character when
	specified for Intel mode.
	(OP_E): Handle new *_mode values. Correct pointer specifications for
	memory operands. Consolidate output of index register.
	(OP_G): Handle new *_mode values.
	(OP_I): Handle const_1_mode.
	(OP_ESreg, OP_DSreg): Generate pointer specifications. Indicate
	respective opcode prefix bits have been consumed.
	(OP_EM, OP_EX): Provide some default handling for generating pointer
	specifications.
2004-11-04 09:16:09 +00:00
Tomer Levi
49c4a1800a 2004-10-28 Tomer Levi <Tomer.Levi@nsc.com>
* gas/crx/cop_insn.d: Regenerate (after a bug fix in Assembler).
2004-10-28 10:19:30 +00:00
Tomer Levi
902143eff6 2004-10-27 Tomer Levi <Tomer.Levi@nsc.com>
* gas/crx/cop_insn.s: Test new Co-Processor instruction 'cpi'.
* gas/crx/list_insn.s: Add hi/lo/u<N> registers tests, fix test bugs.
* gas/crx/cop_insn.d: Regenerate.
* gas/crx/list_insn.d: Likewise.
2004-10-27 10:34:24 +00:00
Nick Clifton
a394c00fe6 Add ARM CFI support 2004-10-25 12:26:04 +00:00
Tomer Levi
f40d685589 'gas/crx' update 2004-10-25 09:39:13 +00:00
Paul Brook
f29ff786ba * gas/arm/mapping.d: Pass --special-syms to objdump. 2004-10-14 16:04:09 +00:00
Daniel Jacobowitz
d2b2c203e1 bfd/
* config.bfd: Include 64-bit support for i[3-7]86-*-solaris2*.
	* elf64-x86-64.c (elf64_x86_64_section_from_shdr): New function.
	(elf_backend_section_from_shdr): Define.
binutils/
	* readelf.c (get_x86_64_section_type_name): New function.
	(get_section_type_name): Use it.
gas/
	* config/tc-i386.c: Include "elf/x86-64.h".
	(i386_elf_section_type): New function.
	* config/tc-i386.h (md_elf_section_type): Define.
	(i386_elf_section_type): New prototype.
gas/testsuite/
	* gas/i386/i386.exp: Don't run divide test for targets where '/'
	is a comment.  Run x86-64-unwind for 64-bit ELF targets.
	* gas/i386/x86-64-unwind.d, gas/i386/x86-64-unwind.s: New.
include/
	* elf/common.h (PT_SUNW_EH_FRAME): Define.
	* elf/x86-64.h (SHT_X86_64_UNWIND): Define.
ld/
	* configure.tgt: Include elf_x86_64 for i[3-7]86-*-solaris2*.
2004-10-08 13:55:11 +00:00