Commit Graph

875 Commits

Author SHA1 Message Date
Jan Beulich a724f0f4f5 gas/
2005-03-17  Jan Beulich  <jbeulich@novell.com>

	* config/tc-i386.c (i386_scale): Beautify error message.
	(Intel syntax comments): Update.
	(struct intel_parser_s): Add fields in_offset, in_bracket, and
	next_operand.
	(intel_e04_1, intel_e05_1, intel_e05_1, intel_e09_1, intel_e10_1):
	Remove declarations.
	(intel_bracket_expr): Declare.
	(i386_intel_operand): Initialize new intel_parser fields. Wrap most
	of the function body in a loop allowing to split an operand into two.
	Replace calls to malloc and checks of it returning non-NULL with
	calls to xmalloc/xstrdup.
	(intel_expr): SHORT no longer handled here. Add comment indicating
	comparison ops need implementation.
	(intel_e04, intel_e04_1): Combine, replace recursion with loop.
	Check right operand of - does not specify a register when parsing
	the address of a memory reference.
	(intel_e05, intel_e05_1): Combine, replace recursion with loop.
	Check operands do not specify a register when parsing the address of
	a memory reference.
	(intel_e06, intel_e06_1): Likewise.
	(intel_e09, intel_e09_1): Combine, replace recursion with loop. Also
	handle SHORT as well as unary + and -. Don't accept : except for
	segment overrides or in direct far jump/call insns.
	(intel_brack_expr): New.
	(intel_e10, intel_e10_1): Combine, replace recursion with loop. Use
	intel_brack_expr.
	(intel_e11): Replace chain of if/else-if by switch, alloing fall-
	through in certain cases. Use intel_brack_expr. Add new diagnostics.
	Allow symbolic constants as register scale value.
	(intel_get_token): Replace call to malloc and check of return value
	with call to xmalloc. Change handling for FLAT to match MASM's.
	(intel_putback_token): Don't try to back up/free current token if
	that is T_NIL.

gas/testsuite/
2005-03-17  Jan Beulich  <jbeulich@novell.com>

	* gas/i386/intel.d: Add stderr directive.
	* gas/i386/intel.e: New.
	* gas/i386/intel16.d: Add stderr directive. Adjust for changed
	source.
	* gas/i386/intel16.e: New.
	* gas/i386/intel16.s: Add instances of addressing forms with base
	and index specified in reverse order.
	* gas/i386/intelbad.l: Adjust for changed source.
	* gas/i386/intelbad.s: Add more operand forms to check.
	* gas/i386/intelok.d: Remove -r from objdump options. Add stderr
	directive. Adjust for changed source.
	* gas/i386/intelok.e: New.
	* gas/i386/intelok.s: Define MASM constants byte, word, etc. Add
	more operand forms to check.
	* gas/i386/x86_64.d: Add stderr directive.
	* gas/i386/x86_64.e: New.
	* gas/i386/x86_64.s: Adjust for parser changes.
2005-03-17 12:05:24 +00:00
Zack Weinberg b05fe5cf68 * config/tc-arm.c (do_mla): Rename to do_mlas, take second
is_mls parameter; do not diagnose Rm==Rd when is_mls.
	(do_mla, do_mls, five_bit_unsigned_immediate, bfci_lsb_and_width)
	(do_bfc, do_bfi, do_bfx, do_rbit, do_mov16, do_ldsttv4): New functions.
	(insns): Add ARMv6T2 instructions:
	bfc bfi mls movw movt rbit sbfx ubfx ldrht ldrsht ldrsbt strht.
	(arm_archs): Add V6T2 variants.
testsuite:
	* gas/arm/archv6t2.d, gas/arm/archv6t2.s: New dump test.
	* gas/arm/archv6t2-bad.l, gas/arm/archv6t2-bad.l: New errors test.
	* gas/arm/arm.exp: Run them.
2005-03-15 20:38:00 +00:00
Eric Christopher 5862107c33 ==> ChangeLog <==
2005-03-14  Eric Christopher  <echristo@redhat.com>

        * config/tc-mips.c: Include dw2gencfi.h.
        (mips_cfi_frame_initial_instructions): New.
        * config/tc-mips.h (TARGET_USE_CFIPOP): Define.
        (tc_cfi_frame_initial_instructions): Ditto.
        (DWARF2_DEFAULT_RETURN_COLUMN): Ditto.
        (DWARF2_CIE_DATA_ALIGNMENT): Ditto.
        * Makefile.am: Update dependencies.
        * Makefile.in: Regenerate.

==> testsuite/ChangeLog <==
2005-03-14  Eric Christopher  <echristo@redhat.com>

        * gas/cfi/cfi-mips-1.d, gas/cfi/cfi-mips-1.s: New dump test.
        * gas/cfi/cfi.exp: Run it.
        * gas/cfi/cfi-common-1.d: Update.
        * gas/cfi/cfi-common-2.d: Ditto.
        * gas/cfi/cfi-common-3.d: Ditto.
        * gas/cfi/cfi-common-4.d: Ditto.
2005-03-15 05:28:17 +00:00
Zack Weinberg 885fc2570f gas:
* config/tc-arm.c (tinsns): Add ARMv6K instructions sev, wfe,
	wfi, yield.
opcodes:
	* arm-dis.c (thumb_opcodes): Add ARMv6K instructions nop, sev,
	wfe, wfi, yield.
gas/testsuite:
	* gas/arm/thumbv6k.d, gas/arm/thumbv6k.s: New dump test.
	* gas/arm/arm.exp: Run it.
2005-03-12 18:25:47 +00:00
Aldy Hernandez 5296228183 * gas/ppc/e500.d: Fix encoding of efscfd. 2005-03-10 20:21:49 +00:00
Alan Modra da99ee721e opcodes/
* ppc-opc.c (insert_sprg, extract_sprg): New Functions.
	(powerpc_operands <SPRG>): Call the above.  Bit field is 5 bits.
	(SPRG_MASK): Delete.
	(XSPRG_MASK): Mask off extra bits now part of sprg field.
        (powerpc_opcodes): Asjust mfsprg and mtsprg to suit new mask.  Move
	mfsprg4..7 after msprg and consolidate.

gas/testsuite
	* gas/ppc/booke.s: Add new m[t,f]sprg testcases.
	* gas/ppc/booke.d: Likewise.
2005-03-10 12:52:30 +00:00
Richard Sandiford 11db99f847 * config/tc-mips.c (MAX_VR4130_NOPS, MAX_DELAY_NOPS): New macros.
(MAX_NOPS): Bump to 4.
	(mips_fix_vr4130): New variable.
	(nops_for_vr4130): New function.
	(nops_for_insn): Use MAX_DELAY_NOPS rather than MAX_NOPS.  Use
	nops_for_vr4130 if working around VR4130 errata.
	(OPTION_FIX_VR4130, OPTION_NO_FIX_VR4130): New macros.
	(md_longopts): Add -mfix-vr4130 and -mno-fix-vr4130.
	(md_parse_option): Handle them.
	(md_show_usage): Print them.
	* doc/c-mips.texi: Document -mfix-vr4130 and -mno-fix-vr4130.
2005-03-09 09:53:50 +00:00
Richard Sandiford 7d8e00cf78 * config/tc-mips.c (MAX_VR4130_NOPS, MAX_DELAY_NOPS): New macros.
(MAX_NOPS): Bump to 4.
	(mips_fix_vr4130): New variable.
	(nops_for_vr4130): New function.
	(nops_for_insn): Use MAX_DELAY_NOPS rather than MAX_NOPS.  Use
	nops_for_vr4130 if working around VR4130 errata.
	(OPTION_FIX_VR4130, OPTION_NO_FIX_VR4130): New macros.
	(md_longopts): Add -mfix-vr4130 and -mno-fix-vr4130.
	(md_parse_option): Handle them.
	(md_show_usage): Print them.
	* doc/c-mips.texi: Document -mfix-vr4130 and -mno-fix-vr4130.
2005-03-09 09:39:31 +00:00
Richard Sandiford dc36a61fc5 * config/tc-mips.c (append_insn): Remove cop_interlocks test from
branch delay code.
2005-03-09 09:35:00 +00:00
Ben Elliston 80f19ede4a * gas/maxq10/maxq10.exp: Remove stray semicolons.
* gas/maxq20/maxq20.exp: Likewise.
2005-03-08 22:41:05 +00:00
Jan Beulich 9b50584289 gas/
2005-03-08  Jan Beulich  <jbeulich@novell.com>

	* config/tc-ia64.c (emit_one_bundle): Track last slot user insn was
	emitted to. Add more precise diagnostics for non-fitting insns based
	on that. Eliminate now superfluous special casing of MLX. Clear out
	slot information when dropping an insn.

gas/testsuite/
2005-03-08  Jan Beulich  <jbeulich@novell.com>

	* gas/ia64/no-fit.[ls]: New.
	* gas/ia64/ia64.exp: Run new test.
2005-03-08 08:27:02 +00:00
Jan Beulich ef6a2b4181 gas/
2005-03-08  Jan Beulich  <jbeulich@novell.com>

	* config/tc-ia64.c (parse_section_name): Rename to...
	(cross_section): In addition to separating the name from the rest of
	the arguments, also carry out the operation.
	(dot_xdata): Use cross_section.
	(dot_float_cons): Likewise.
	(dot_xstringer): Likewise.
	(dot_xdata_ua): Likewise.
	(dot_float_cons_ua): Likewise. Pass float_cons, not stmt_float_cons.

gas/testsuite/
2005-03-08  Jan Beulich  <jbeulich@novell.com>

	* gas/ia64/xdata.[sd], gas/ia64/xdata-ilp32.d: New.
	* gas/ia64/ia64.exp: Run new tests.
2005-03-08 08:23:32 +00:00
Jan Beulich 0b74f93c04 gas/testsuite/
2005-03-08  Jan Beulich  <jbeulich@novell.com>

	* gas/ia64/pcrel.d: Account for big endian target.
	* gas/ia64/reloc-bad.s: Enforce 64-bit ABI.
2005-03-08 08:15:40 +00:00
Hans-Peter Nilsson 66798ad6ae Adjust testsuite for cris-axis-aout.
* gas/cris/rd-bcnst.d, gas/cris/rd-usp-1.d: Adjust regexps for a.out output.
	* gas/cris/mulbug-err-1.s, gas/cris/rd-arch-1.d,
	gas/cris/rd-arch-2.d, gas/cris/rd-arch-3.d, gas/cris/rd-break32.d,
	gas/cris/rd-pcrel2.d, gas/cris/rd-ppv1032.d, gas/cris/rd-ppv32.d,
	gas/cris/rd-usp-1b.d, gas/cris/v32-err-7.s: Pass --em=criself.
2005-03-08 02:26:21 +00:00
Thiemo Seufer bbe506e8ba bfd/ChangeLog
* elfxx-mips.c (mips_elf_calculate_relocation): Handle special
	'__gnu_local_gp' symbol used by gas -mno-shared.

	gas/ChangeLog
	* config/tc-mips.c (macro_build_lui): Use '__gnu_local_gp'
	instead of '_gp' for -mno-shared optimization.
	(s_cpload): Ditto.
	(s_abicalls): Document it in the comment.
	(md_show_usage): Document the -mno-shared option.

	gas/testsuite/ChangeLog
	* gas/mips/elf-rel23b.d: Use '__gnu_local_gp' instead of '_gp'
	for -mno-shared optimization.
	* gas/mips/elf-rel25a.d: Ditto.

	ld/testsuite/ChangeLog
	* ld-mips-elf/multi-got-no-shared-1.s,
	ld-mips-elf/multi-got-no-shared-2.s,
	ld-mips-elf/multi-got-no-shared.d: New tests.
	* ld-mips-elf/mips-elf.exp: Run them.
2005-03-05 00:01:44 +00:00
Nick Clifton 25742a2cf0 Fix unexpected failrues for arm toolchains 2005-03-04 15:28:36 +00:00
Richard Sandiford aed1a26192 * config/tc-mips.c (mips_set_options): Add sym32 field.
(mips_opts): Initialize it.
	(HAVE_32BIT_ADDRESSES): Set to true if pointers are 32 bits wide.
	(HAVE_64BIT_ADDRESSES): Redefine as !HAVE_32BIT_ADDRESSES.
	(HAVE_32BIT_SYMBOLS, HAVE_64BIT_SYMBOLS): New macros.
	(load_address): Use HAVE_64BIT_SYMBOLS instead of HAVE_64BIT_ADDRESSES
	when deciding whether to use a symbolic %highest/%higher expansion.
	(macro): Likewise.  Remove o64/n32 linux hack.  Always use
	ADDRESS_ADD*_INSN for address addition in the expansion of "dla"
	and "la".  Handle constants separately from symbolic expressions in
	the "ld_st:" case, using 64-bit arithmetic if HAVE_64BIT_ADDRESSES
	and using load_register to load the high part of the address.
	(OPTION_MSYM32, OPTION_NO_MSYM32): New macros.
	(OPTION_ELF_BASE): Bump by 2.
	(md_longopts): Add entries for -msym32 and -mno-sym32.
	(md_parse_option): Handle them.
	(usage): Document them.
	(s_mipsset): Handle ".set sym32" and ".set nosym32".
	(s_cpload, s_cpsetup): Use HAVE_64BIT_SYMBOLS instead of
	HAVE_64BIT_ADDRESSES to detect 64-bit values of "_gp".
	* doc/c-mips.texi: Document ".set sym32", ".set nosym32",
	-msym32 and -mno-sym32.
2005-03-04 09:51:11 +00:00
Nick Clifton be20d78e37 (and.s): Expect this test to fail for the tic4x-coff target because it uses
the '&' character as a line separator.
2005-03-03 17:25:36 +00:00
Nick Clifton 3c1a78a44b * gas/sh/basic.exp: Add an sh-hms version of the pcrel test.
* gas/sh/pcrel-hms.d: New file.  Adjusted form of pcrel-coff.d for the sh-hms
  target.
* gas/sh/arch/arch.exp: Expect the same failures for sh-hms port as for the
  sh-coff port.
2005-03-03 16:59:20 +00:00
Nick Clifton 5e1e041485 Also expect the msp430 port to fail the strings test because it defines
ONLY_STANDARD_ESCAPES.
2005-03-03 15:13:39 +00:00
Richard Sandiford b271558791 * gas/mips/mips.exp: Move tls tests to main $elf block. 2005-03-03 15:01:49 +00:00
Nick Clifton f991b11ef8 * gas/arm/arch6zk.s: Add three nop instructions in order to pad the .text
section out to a 32-byte boundary as will automatically be done by the
   arm-aout target.
* gas/arm/arch6zk.d: Add expected nop disassemblies.
2005-03-03 14:41:35 +00:00
Nick Clifton d3d5c68681 Remove listing lines that are no longer emitted and fix up expected binary
encoding.
2005-03-03 12:35:19 +00:00
Ramana Radhakrishnan a6ccbdd30e 2005-03-03 Ramana Radhakrishnan <ramana.radhakrishnan@codito.com>
* gas/arc/extensions.s: Add tests for extcoreregister
	* gas/arc/extensions.d: Likewise.
	* gas/arc/warn.s: Warnings for readonly core registers
	accessed .
	* gas/arc/warn.d:Likewise.
	* testsuite/gas/arc/arc.exp:Run extensions testcase.
2005-03-03 12:13:23 +00:00
Alan Modra aef6203bd6 update copyright dates 2005-03-03 11:52:12 +00:00
Richard Sandiford fa81d9639c * gas/mips/noat-1.d: Add -mips1 to assembler options. 2005-03-03 10:32:10 +00:00
Ramana Radhakrishnan c67de7d552 2005-03-03 Ramana Radhakrishnan <ramana.radhakrishnan@codito.com>
* gas/arc/ld.s:Add checks for short immediates with ld
	* gas/arc/ld.d:Likewise.
2005-03-03 05:31:41 +00:00
Daniel Jacobowitz 128b3d8643 * gas/mips/tls-o32.d, gas/mips/tls-o32.s, gas/mips/tls-ill.l,
gas/mips/tls-ill.s: New files.
	* gas/mips/mips.exp: Run TLS tests.
2005-03-02 21:22:47 +00:00
Alan Modra 632d447c67 * gas/ppc/astest.d: Adjust for relocs reduced to section sym.
* gas/ppc/astest2.d: Likewise.
	* gas/ppc/astest2_64.d: Likewise.
	* ppc/astest64.d: Likewise.
	* ppc/booke.d: Likewise.
	* ppc/power4.d: Likewise.
	* ppc/test1elf32.d: Likewise.
	* ppc/test1elf64.d: Likewise.
2005-03-02 13:25:01 +00:00
Jan Beulich c4a530c529 gas/
2005-03-02  Jan Beulich  <jbeulich@novell.com>

	* config/tc-i386.c (build_modrm_byte): Add lock prefix for cr8...15
	accesses.
	(parse_register): Allow cr8...15 in all modes.

gas/testsuite/
2005-03-02  Jan Beulich  <jbeulich@novell.com>

	* gas/i386/cr-err.[ls]: New.
	* gas/i386/crx.[ds]: New.
	* gas/i386/i386.exp: Run new tests.

opcodes/
2005-03-02  Jan Beulich  <jbeulich@novell.com>

	* i386-dis.c (print_insn): Suppress lock prefix printing for cr8...15
	accesses.
	(OP_C): Consider lock prefix in non-64-bit modes.
2005-03-02 08:01:32 +00:00
Jan Beulich 167c3097b2 gas/
2005-03-02  Jan Beulich  <jbeulich@novell.com>

	* config/tc-i386.c (intel_e11): If not followed by T_PTR, treat T_BYTE
	etc. like normal symbol references (T_ID).

gas/testsuite/
2005-03-02  Jan Beulich  <jbeulich@novell.com>

	* gas/i386/intelok.d: Add -r to objdump options. Adjust expectations.
	* gas/i386/intelok.s: Add checks for various special memory operands.
2005-03-02 07:55:01 +00:00
Alan Modra a76903bf5d * symbols.c (fb_label_name): Allow an augend of 2 for mmix.
also fix last changelog entry.
2005-03-01 22:24:14 +00:00
Nick Clifton a3a4c9c4ac Fix undefined local label test for COFF based ARM ports 2005-03-01 15:39:59 +00:00
Nick Clifton ce04548af9 objdump.c: Fix coding for DISASSEMBLER_NEEDS_RELOC:
(struct objdump_disasm_info): Add 'reloc' field.
(disassemble_bytes): Fix check for when an insn has a reloc associated with it.
Improve comment explaining why the use of octets is wrong.  Set the 'reloc'
field in objdump_disasm_info structure.
(objdump_print_addr): Use new 'reloc' field to lookup the correct address for
the symbol associated with the current instruction's relocation.
(disassemble_info): Initialise 'reloc' field.

gas/arm/inst.d: Allow for ARM ports which decode the reloc associated with
branches and so show the exact symbolic destination address rather than an
offset from the start of the section.

gas/arm/pic.d: Likewise.
2005-03-01 15:18:44 +00:00
Ramana Radhakrishnan b15c27d7c1 2005-03-01 Ramana Radhakrishnan <ramana.radhakrishnan@codito.com>
PR gas/708
	* config/tc-arc.c(md_assemble):Initialize suffix for extension
	suffixes also.
	* testsuite/gas/arc/extensions.s:New file
	* testsuite/gas/arc/extensions.d:New file
2005-03-01 15:05:27 +00:00
Alan Modra ddf0c81b06 * gas/m68k/mcf-emac.d: Allow for 64-bit addresses.
* gas/m68k/mcf-mac.d: Likewise.
	* gas/m68k/mcf-mov3q.d: Likewise.
	* gas/m68k/mode5.d: Likewise.
2005-03-01 03:52:56 +00:00
Eric Christopher 1375e99fd5 2005-02-22 Eric Christopher <echristo@redhat.com>
* gas/mips/elf-rel10.d: Update for label change.
2005-02-22 23:37:30 +00:00
Maciej W. Rozycki 9def96e7f6 * gas/mips/mips16-dwarf2.d: Pass -mabi=32. Include relocation
information.
* gas/mips/mips16-dwarf2-n32.d: New test to check DWARF2 line
information for MIPS16 for the n32 ABI.
* gas/mips/mips.exp. Run the new test.
2005-02-22 20:50:11 +00:00
Eric Christopher 1fda77fb6c 2005-02-22 Eric Christopher <echristo@redhat.com>
* gas/mips/elf-rel10.s: Add label for frob.
2005-02-22 19:39:06 +00:00
Maciej W. Rozycki 58e2ea4d1c gas/:
* config/tc-mips.c (append_insn): Call dwarf2_emit_insn() before
emitting insn.

gas/testsuite/:
* gas/mips/mips16-dwarf2.d: New test to check DWARF2 line
information for MIPS16.
* gas/mips/mips16-dwarf2.s: Source for the new test.
* gas/mips/mips.exp: Run the new test.
2005-02-22 12:32:26 +00:00
Alan Modra ba7f26d2f9 * gas/d10v/instruction_packing-005.d: Adjust.
* gas/d10v/instruction_packing-008.d: Ignore disassembled stabs.
	* gas/d10v/instruction_packing-009.d: Likewise.
	* gas/d10v/instruction_packing-010.d: Likewise.
	* gas/d10v/warning-001.d: Use #warning instead of #error.
	* gas/d10v/warning-002.d: Likewise.
	* gas/d10v/warning-003.d: Likewise.
	* gas/d10v/warning-004.d: Likewise.
	* gas/d10v/warning-005.d: Likewise.
	* gas/d10v/warning-006.d: Likewise.
	* gas/d10v/warning-007.d: Likewise.
	* gas/d10v/warning-008.d: Likewise.
	* gas/d10v/warning-009.d: Likewise.
	* gas/d10v/warning-010.d: Likewise.
	* gas/d10v/warning-011.d: Likewise.
	* gas/d10v/warning-012.d: Likewise.
	* gas/d10v/warning-013.d: Likewise.
	* gas/d10v/warning-015.d: Likewise.
	* gas/d10v/warning-016.d: Likewise.
	* gas/d10v/warning-017.d: Likewise.
	* gas/d10v/warning-018.d: Likewise.
	* gas/d10v/warning-019.d: Likewise.
	* lib/gas-defs.exp (run_dump_test): Don't require a dump program if
	#warning given.  Rearrange to allow $program to remain unset.
	Fail the test if warning not found when expected.  Conversely fail
	the test if assembler errors or warnings given when not expected.
2005-02-21 10:07:08 +00:00
Thiemo Seufer 8fc2e39ed7 /gas/ChangeLog
* config/tc-mips.c (macro_build_ldst_constoffset): Fail on $at
	uses after .set noat.
	(load_address): Likewise.
	(macro): Likewise. Don't try to avoid $at use by sacrificing
	the target register before it is stored, it won't work.

	/gas/testsuite/ChangeLog
	* gas/mips/noat-1.s, gas/mips/noat-1.d, gas/mips/noat-2.s,
	gas/mips/noat2.l, gas/mips/noat-3.s, gas/mips/noat-3.l,
	gas/mips/noat-4.s, gas/mips/noat-4.l, gas/mips/noat-5.s,
	gas/mips/noat-5.l, gas/mips/noat-6.s, gas/mips/noat-6.l,
	gas/mips/noat-7.s, gas/mips/noat-7.l: New files, testcases for
	.set noat in macro expansions.
	* gas/mips/mips.exp: Run new testcases.
	* gas/mips/rol-hw.d, gas/mips/rol-hw.l, gas/mips/rol.d,
	gas/mips/rol.l, gas/mips/rol.s, gas/mips/rol64-hw.d,
	gas/mips/rol64-hw.l, gas/mips/rol64.d, gas/mips/rol64.l,
	gas/mips/rol64.s, gas/mips/uld2-eb.d, gas/mips/uld2-el.d,
	gas/mips/uld2.l, gas/mips/uld2.s, gas/mips/ulh2-eb.d,
	gas/mips/ulh2-el.d, gas/mips/ulh2.l, gas/mips/ulh2.s,
	gas/mips/ulw2-eb-ilocks.d, gas/mips/ulw2-eb.d,
	gas/mips/ulw2-el-ilocks.d, gas/mips/ulw2-el.d, gas/mips/ulw2.l,
	gas/mips/ulw2.s: Don't try to test .set noat.
2005-02-18 22:12:53 +00:00
H.J. Lu 91d777eed7 gas/
2005-02-17  H.J. Lu  <hongjiu.lu@intel.com>

	* NEWS: Mention "-mhint.b=[ok|warning|error]".

	* config/tc-ia64.c (md): Add hint_b.
	(emit_one_bundle): Handle md.hint_b for "hint".
	(md_parse_option): Accepted "-mhint.b=[ok|warning|error]".
	(md_show_usage): Add "-mhint.b=[ok|warning|error]".
	(ia64_init): Set md.hint_b to error.
	(md_assemble): Handle md.hint_b for "hint.b".

	* doc/as.texinfo: Add "-mhint.b=[ok|warning|error]".
	* doc/c-ia64.texi: Likewise.

gas/testsuite/

2005-02-17  H.J. Lu  <hongjiu.lu@intel.com>

	* gas/ia64/hint.b-err.l: New file.
	* gas/ia64/hint.b-err.s: Likewise.
	* gas/ia64/hint.b-warn.l: Likewise.
	* gas/ia64/hint.b-warn.s: Likewise.

	* gas/ia64/ia64.exp: Run hint.b-err and hint.b-warn.

	* gas/ia64/opc-b.d: Pass -mhint.b=ok to as.
2005-02-17 23:22:05 +00:00
Jan Beulich 26b810ce0e gas/
2005-02-17  Jan Beulich  <jbeulich@novell.com>

	* config/tc-ia64.c (ia64_parse_name): Don't advance 'name' when
	parsing inN, locN, outN. Set 'idx' to offset register number starts
	at. Don't handle numbers with leading zeroes or beyond 95. Remove
	pointless cast.

gas/testsuite/
2005-02-17  Jan Beulich  <jbeulich@novell.com>

	* gas/ia64/nostkreg.[ds]: New.
	* gas/ia64/ia64.exp: Run new test.
2005-02-17 07:43:12 +00:00
Alan Modra ddc07134b8 * gas/all/gas.exp (quad): Don't run on i960. 2005-02-16 05:04:33 +00:00
Maciej W. Rozycki d6f1659387 bfd/:
2005-02-15  Nigel Stephens  <nigel@mips.com>
            Maciej W. Rozycki  <macro@mips.com>

	* elf32-mips.c (elf_mips16_howto_table_rel): New array for MIPS16
	reloc howtos.  Add R_MIPS16_HI16 and R_MIPS16_LO16 relocs and
	R_MIPS16_GOT16 and R_MIPS16_CALL16 placeholders.
	(elf_mips16_jump_howto): Move into elf_mips16_howto_table_rel.
	(elf_mips16_gprel_howto): Likewise.  Redefine src_mask and
	dst_mask.
	(mips16_gprel_reloc): Remove bit shuffling; call
	_bfd_mips16_elf_reloc_unshuffle(), _bfd_mips_elf_gprel16_with_gp()
	and _bfd_mips16_elf_reloc_shuffle() instead.
	(mips16_reloc_map): New reloc map for MIPS16 relocs.
	(bfd_elf32_bfd_reloc_type_lookup): Use mips16_reloc_map for MIPS16
	relocs.
	(mips_elf32_rtype_to_howto): Fetch MIPS16 howtos from
	elf_mips16_howto_table_rel.
	* elf64-mips.c (mips16_elf64_howto_table_rel): New array for
	MIPS16 REL reloc howtos.  Add R_MIPS16_HI16 and R_MIPS16_LO16
	relocs and R_MIPS16_GOT16 and R_MIPS16_CALL16 placeholders.
	(elf_mips16_jump_howto): Move into mips16_elf64_howto_table_rel.
	(elf_mips16_gprel_howto): Likewise.  Redefine src_mask and
	dst_mask.
	(mips16_elf64_howto_table_rela): New array for MIPS16 RELA
	reloc howtos.  Add R_MIPS16_26, R_MIPS16_GPREL, R_MIPS16_HI16 and
	R_MIPS16_LO16 relocs and R_MIPS16_GOT16 and R_MIPS16_CALL16
	placeholders.
	(mips16_gprel_reloc): Remove bit shuffling; call
	_bfd_mips16_elf_reloc_unshuffle(), _bfd_mips_elf_gprel16_with_gp()
	and _bfd_mips16_elf_reloc_shuffle() instead.
	(mips16_reloc_map): New reloc map for MIPS16 relocs.
	(bfd_elf64_bfd_reloc_type_lookup): Use mips16_reloc_map for MIPS16
	relocs.
	(mips_elf64_rtype_to_howto): Fetch MIPS16 howtos from
	mips16_elf64_howto_table_rela or mips16_elf64_howto_table_rel.
	* elfn32-mips.c (elf_mips16_howto_table_rel): New array for MIPS16
	REL reloc howtos.  Add R_MIPS16_HI16 and R_MIPS16_LO16 relocs and
	R_MIPS16_GOT16 and R_MIPS16_CALL16 placeholders.
	(elf_mips16_jump_howto): Move into elf_mips16_howto_table_rel.
	(elf_mips16_gprel_howto): Likewise.  Redefine src_mask and
	dst_mask.
	(mips16_gprel_reloc): Remove bit shuffling; call
	_bfd_mips16_elf_reloc_unshuffle(), _bfd_mips_elf_gprel16_with_gp()
	and _bfd_mips16_elf_reloc_shuffle() instead.
	(mips16_reloc_map): New reloc map for MIPS16 relocs.
	(bfd_elf32_bfd_reloc_type_lookup): Use mips16_reloc_map for MIPS16
	relocs.
	(mips_elf_n32_rtype_to_howto): Fetch MIPS16 howtos from
	elf_mips16_howto_table_rela or elf_mips16_howto_table_rel.
	* elfxx-mips.c (_bfd_mips16_elf_reloc_unshuffle): New function to
	handle bit shuffling for MIPS16 relocs.
	(_bfd_mips16_elf_reloc_shuffle): Likewise.
	(_bfd_mips_elf_lo16_reloc): Use _bfd_mips16_elf_reloc_unshuffle()
	and _bfd_mips16_elf_reloc_shuffle().
	(_bfd_mips_elf_generic_reloc): Likewise.
	(mips_elf_calculate_relocation): Likewise.  Handle R_MIPS16_HI16
	and R_MIPS16_LO16.
	(mips_elf_obtain_contents): Remove bit shuffling.
	(mips_elf_perform_relocation): Likewise; call
	_bfd_mips16_elf_reloc_unshuffle() and _bfd_mips16_elf_reloc_shuffle()
	instead.
	(_bfd_mips_elf_relocate_section): Likewise.  Handle R_MIPS16_HI16
	and R_MIPS16_LO16.
	* elfxx-mips.h (_bfd_mips16_elf_reloc_unshuffle): Declare.
	(_bfd_mips16_elf_reloc_shuffle): Likewise.
	* reloc.c (BFD_RELOC_MIPS16_HI16): New reloc.
	(BFD_RELOC_MIPS16_HI16_S): Likewise.
	(BFD_RELOC_MIPS16_LO16): Likewise.
	* bfd-in2.h: Regenerate.
	* libbfd.h: Regenerate.

gas/:
2005-02-15  Nigel Stephens  <nigel@mips.com>
            Maciej W. Rozycki  <macro@mips.com>

	* config/tc-mips.c (reloc_needs_lo_p): Handle
	BFD_RELOC_MIPS16_HI16_S.
	(fixup_has_matching_lo_p): Handle BFD_RELOC_MIPS16_LO16.
	(append_insn): Add BFD_RELOC_MIPS16_GPREL, BFD_RELOC_MIPS16_HI16_S
	and BFD_RELOC_MIPS16_LO16 to relocs to suppress overflow
	complaints on.
	(mips16_ip): Resolve BFD_RELOC_MIPS16_HI16_S,
	BFD_RELOC_MIPS16_HI16 and BFD_RELOC_MIPS16_LO16 for constants.
	Call my_getSmallExpression() to parse percent operators.
	(percent_op_match, mips_percent_op): Separate definitions.
	(mips16_percent_op): Define percent operators for the MIPS16 mode.
	(parse_relocation): Handle the MIPS16 mode using
	mips16_percent_op.
	(md_apply_fix3): Handle BFD_RELOC_MIPS16_HI16,
	BFD_RELOC_MIPS16_HI16_S and BFD_RELOC_MIPS16_LO16.

gas/testsuite/:
2005-02-15  Nigel Stephens  <nigel@mips.com>
            Maciej W. Rozycki  <macro@mips.com>

	* gas/mips/mips16-hilo.d: New test for the R_MIPS16_HI16 and
	R_MIPS16_LO16 relocs.
	* gas/mips/mips16-hilo-n32.d: Likewise, for the n32 ABI.
	* gas/mips/mips16-hilo.s: Source for the new tests.
	* gas/mips/mips.exp: Run the new tests.

include/:
2005-02-15  Nigel Stephens  <nigel@mips.com>
            Maciej W. Rozycki  <macro@mips.com>

	* elf/mips.h (R_MIPS16_GOT16): New reloc code.
	(R_MIPS16_CALL16): Likewise.
	(R_MIPS16_HI16): Likewise.
	(R_MIPS16_LO16): Likewise.
	(R_MIPS16_min): New fake reloc code.
	(R_MIPS16_max): Likewise.

ld/testsuite/:
2005-02-15  Nigel Stephens  <nigel@mips.com>
            Maciej W. Rozycki  <macro@mips.com>

	* ld-mips-elf/mips16-hilo.d: New test for the R_MIPS16_HI16 and
	R_MIPS16_LO16 relocs.
	* ld-mips-elf/mips16-hilo-n32.d: Likewise, for the n32 ABI.
	* ld-mips-elf/mips16-hilo.s: Auxiliary source for the new tests.
	* ld-mips-elf/mips-elf.exp: Run the new tests.
2005-02-15 19:57:54 +00:00
Jan Beulich 7b347e436d gas/
2005-02-15  Jan Beulich  <jbeulich@novell.com>

	* config/tc-ia64.c (md_apply_fix3): Call ia64_gen_real_reloc_type
	instead of explicitly dealing with the translation; exclude
	relocations that are already pcrel, however.

gas/testsuite/
2005-02-15  Jan Beulich  <jbeulich@novell.com>

	* gas/ia64/pcrel.[ds]: New.
	* gas/ia64/ia64.exp: Run new test.
2005-02-15 08:11:14 +00:00
Jan Beulich a66d2bb7bd gas/
2005-02-15  Jan Beulich  <jbeulich@novell.com>

	* config/tc-ia64.c: Include limits.h (if available).
	(gr_values[0]): Set path to INT_MAX.
	(dot_reg_val): Don't allow changing value of r0. Limit range of
	general registers at r127.
	(specify_resource): Default resource index is -1. Don't set resource
	index (in case IA64_RS_RSE) without setting the specific flag.
	(note_register_values): Check operand is O_constant before tracking
	input value of moves. Add tracking for dep.z with constant inputs.
	(print_dependency): Resource index of specific resource may be zero.
	(check_dependencies): Likewise.

gas/testsuite/
2005-02-15  Jan Beulich  <jbeulich@novell.com>

	* gas/ia64/dv-raw-err.l: Expect specific resource for RAW violation on b0.
	* gas/ia64/regval.[ls]: New.
	* gas/ia64/ia64.exp: Run new test.
2005-02-15 07:54:03 +00:00
Jan Beulich 4b09e82862 gas/
2005-02-15  Jan Beulich  <jbeulich@novell.com>

	* config/tc-ia64.c (parse_operands): New local variables reg1, reg2,
	reg_class. Check operands and emit diagnostics for illegal use of
	registers.

gas/testsuite/
2005-02-15  Jan Beulich  <jbeulich@novell.com>

	* gas/ia64/dv-raw-err.s: Don't use r0 or f0 as output operand.
	* gas/ia64/dv-waw-err.s: Likewise.
	* gas/ia64/reg-err.[ls]: New.
	* gas/ia64/ia64.exp: Run new test.
2005-02-15 07:50:23 +00:00
Jan Beulich 0ca3e4557f bfd/
2005-02-15  Jan Beulich  <jbeulich@novell.com>

	* elfxx-ia64.c (ia64_howto_table): Correct strings for
	R_IA64_DTPMOD64[LM]SB.

gas/
2005-02-15  Jan Beulich  <jbeulich@novell.com>

	* config/tc-ia64.c (ia64_gen_real_reloc_type): Define and initialize
	new variables type, suffix, and width. Handle
	BFD_RELOC_IA64_DIR(32|64)[LM]SB in FUNC_LT_FPTR_RELATIVE case.
	Handle BFD_RELOC_IA64_DIR64[LM]SB in FUNC_TP_RELATIVE case. Add
	FUNC_DTP_MODULE case. Handle BFD_RELOC_IA64_DIR32[LM]SB in
	FUNC_DTP_RELATIVE case. Return incoming relocation type if
	BFD_RELOC_IA64_IPLT[LM]SB in FUNC_IPLT_RELOC case. Generate warning
	if unable to translate relocation type, using the new variables.

gas/testsuite/
2005-02-15  Jan Beulich  <jbeulich@novell.com>

	* gas/ia64/reloc.[ds]: New.
	* gas/ia64/reloc-bad.[ls]: New.
	* gas/ia64/ia64.exp: Run new tests.
2005-02-15 07:37:11 +00:00