aboutsummaryrefslogtreecommitdiff
path: root/gas/testsuite
AgeCommit message (Collapse)AuthorFilesLines
2005-08-26opcodes/Jan Beulich2-1/+5
2005-08-26 Jan Beulich <jbeulich@novell.com> * i386-dis.c (intel_operand_size): New, broken out from OP_E for re-use. (OP_E): Call intel_operand_size, move call site out of mode dependent code. (OP_OFF): Call intel_operand_size if suffix_always. Remove ATTRIBUTE_UNUSED from parameters. (OP_OFF64): Likewise. (OP_ESreg): Call intel_operand_size. (OP_DSreg): Likewise. (OP_DIR): Use colon rather than semicolon as separator of far jump/call operands. gas/testsuite/ 2005-08-26 Jan Beulich <jbeulich@novell.com> * gas/i386/intelok.d: Adjust.
2005-08-25* gas/mips/mips.exp: Run DSP test.Chao-ying Fu5-0/+402
* gas/mips/mips32-dsp.[sdl]: New test.
2005-08-22gas/Jan Beulich5-0/+52
2005-08-22 Jan Beulich <jbeulich@novell.com> * config/tc-i386.c (object_64bit): New. (i386_target_format): Initialize it. (output_disp): Use object_64bit for relocation type determination. (output_imm): Likewise. (i386_validate_fix): Likewise. (tc_gen_reloc): Likewise. (lex_got): Likewise. Remove static mode_name. Change array size of gotrel's rel field, and adjust its initializer. Adjust diagnostic. (x86_cons): Use object_64bit for deciding whether quad fields can have relocations. gas/testsuite/ 2005-08-22 Jan Beulich <jbeulich@novell.com> * gas/i386/mixed-mode-reloc.s, gas/i386/mixed-mode-reloc32.d, gas/i386/mixed-mode-reloc64.d: New. * gas/i386/i386.exp: Run new tests.
2005-08-152005-08-15 Paul Brook <paul@codesourcery.com>Paul Brook3-15/+98
gas/ * config/tc-arm.c (do_t_mov_cmp): Fix encoding of i16-bit conditional instructions. (do_t_mvn_tst, do_t_neg, do_t_shift): Ditto. gas/testsuite/ * gas/arm/thumb2_it.s: Add more instruction variants. * gas/arm/thumb2_it.d: Ditto.
2005-08-12 * gas/testsuite/gas/s390/s390.exp: Reorganize gas testsuite for s390Martin Schwidefsky27-886/+1462
and add tests for new cpu type z9-109. * gas/testsuite/gas/s390/esa-g5.d: New. * gas/testsuite/gas/s390/esa-g5.s: New. * gas/testsuite/gas/s390/esa-operands.d: New. * gas/testsuite/gas/s390/esa-operands.s: New. * gas/testsuite/gas/s390/esa-reloc.d: New. * gas/testsuite/gas/s390/esa-reloc.s: New. * gas/testsuite/gas/s390/esa-z9-109.d: New. * gas/testsuite/gas/s390/esa-z9-109.s: New. * gas/testsuite/gas/s390/esa-z900.d: New. * gas/testsuite/gas/s390/esa-z900.s: New. * gas/testsuite/gas/s390/esa-z990.d: New. * gas/testsuite/gas/s390/esa-z990.s: New. * gas/testsuite/gas/s390/zarch-operands.d: New. * gas/testsuite/gas/s390/zarch-operands.s: New. * gas/testsuite/gas/s390/zarch-reloc.d: New. * gas/testsuite/gas/s390/zarch-reloc.s: New. * gas/testsuite/gas/s390/zarch-z9-109.d: New. * gas/testsuite/gas/s390/zarch-z9-109.s: New. * gas/testsuite/gas/s390/zarch-z900.d: New. * gas/testsuite/gas/s390/zarch-z900.s: New. * gas/testsuite/gas/s390/zarch-z990.d: New. * gas/testsuite/gas/s390/zarch-z990.s: New. * gas/testsuite/gas/s390/opcode.d: Delete. * gas/testsuite/gas/s390/opcode.s: Delete. * gas/testsuite/gas/s390/opcode64.d: Delete. * gas/testsuite/gas/s390/opcode64.s: Delete. * gas/testsuite/gas/s390/operands.d: Delete. * gas/testsuite/gas/s390/operands.s: Delete. * gas/testsuite/gas/s390/operands64.d: Delete. * gas/testsuite/gas/s390/operands64.s: Delete. * gas/testsuite/gas/s390/reloc.d: Likewise. * gas/testsuite/gas/s390/reloc.s: Likewise. * gas/testsuite/gas/s390/reloc64.d: Likewise. * gas/testsuite/gas/s390/reloc64.s: Likewise.
2005-08-11 * gas/all/gas.exp: Remove a29k and m88k support.Alan Modra51-3524/+54
* gas/m88k/*: Delete. * gas/tic80/*: Delete.
2005-08-05 * ChangeLog: Fix typo in last change.Dave Anglin1-1/+1
2005-08-05 * gas/hppa/reloc/reloc.exp (do_function_reloc_bug): Add "L%" to regexp.Dave Anglin2-1/+5
2005-08-052005-08-05 Paul Brook <paul@codesourcery.com>Paul Brook2-0/+48
* gas/arm/thumb32.s: Use correct conditional suffixes inside IT blocks. * gas/arm/thumb2_it.d, gas/arm/thumb2_it.s: New test.
2005-08-052005-08-05 Paul Brook <paul@codesourcery.com>Paul Brook2-54/+74
gas/ * config/tc-arm.c (current_it_mask, current_cc): New variables. (do_t_add_sub): Use correct encodings inside IT block. (do_t_arit3c): Ditto. (do_t_it): Simplify logic. Set current_it_mask and current_cc. (md_assemble): Verify conditional suffixes agains IT blocks. gas/testsuite/ * gas/arm/thumb32.s: Use correct conditional suffixes inside IT blocks. * gas/arm/thumb2_it.d, gas/arm/thumb2_it.s: New test.
2005-08-052005-08-05 Paul Brook <paul@codesourcery.com>Paul Brook3-2/+12
gas/ * config/tc-arm.c (encode_thumb32_immediate): Only accept shifted constants. (encode_thumb32_shifted_operand): Prohibit register shifts. (encode_thumb32_addr_mode): Fix typo. (insns): Correct thumb2 ldm and stm opcodes. gas/testsuite/ * gas/arm/thumb32.d: Update ldm/stm dests. * gas/arm/thumb32.s: Ditto.
2005-08-03config/tc-arm.c (do_iwmmxt_wldstd): Correct the offset range for WLDRD/WSTRDNick Clifton6-6/+30
instruction. gas/arm/iwmmxt-bad2.s: New file: Check for error messages about erroneous offsets in iwmmxt instructions. Cannot be part of iwmmxt-bad.s because the errors there stop the assembler before it gets to check the offsets in instructions. gas/arm/iwmmxt-bad2.d: New file. gas/arm/iwmmxt-bad2.l: New file: Expected error messages. gas/arm/iwmmxt.s: Change the offset values of the WLDRD, WSTRD and WSTRW instructions to be larger than +/-255. gas/arm/iwmmxt.d: Fix the expected results for these instructions.
2005-07-292005-07-29 Paul Brook <paul@codesourcery.com>Paul Brook3-38/+49
bfd/ * reloc.c: Add BFD_RELOC_ARM_T32_ADD_PC12. * bfd-in2.h: Regenerate. * libbfd.h: Regenerate. gas/ * config/tc-arm.c (T16_32_TAB): Add "addr". Fix encoding of push and pop. (do_t_addr): Implement 32-bit variant. (do_t_push_pop): Make some errors warnings. Handle single register 32-bit case. (insns): Use tCE for adr. (md_pcrel_from_section): Handle BFD_RELOC_ARM_T32_ADD_PC12. (md_apply_fix): Ditto. gas/testsuite/ * gas/arm/thumb32.d: Fix expected output for writeback addressing modes. Add single high reg push/pop test. * gas/asm/thumb32.s: Add single high reg push/pop test. opcodes/ * arm-dis.c: Fix disassebly of thumb2 writeback addressing modes.
2005-07-292005-07-29 Paul Brook <paul@codesourcery.com>Paul Brook3-0/+21
bfd/ * reloc.c (BFD_RELOC_ARM_T32_IMM12): Add. * bfd-in2.h: Regeenrate. * libbfd.h: Regenerate. gas/ * config/tc-arm.c (parse_tb): New function. (enum operand_parse_code): Add OP_TB. (parse_operands): Handle OP_TB. (do_t_add_sub_w, do_t_tb): New functions. (insns): Add entries for addw, subw, tbb and tbh. (md_apply_fix): Handle BFD_RELOC_ARM_T32_IMM12. gas/testsuite/ * gas/arm/thumb32.s: Add tests for addw, subw, tbb and tbh. * gas/arm/thumb32.d: Ditto. opcodes/ * arm-dis.c (thumb32_opc): Fix addressing mode for tbh. (print_insn_thumb32): Fix decoding of thumb2 'I' operands.
2005-07-27gas/Jan Beulich3-6/+11
2005-07-27 Jan Beulich <jbeulich@novell.com> * config/tc-ia64.h (unw_r_record): Change type of fr_mem to unsigned int. (unw_p_record): Remove unused/redundant fields imask and rmask. Combine spoff and pspoff into a union. Combine gr and br into a union. Change type of grmask and brmask to unsigned char. Change type of frmask to unsigned int. (unw_x_record): Combine spoff, pspoff, and treg into a union. * config/tc-ia64.c (unwind): New field 'pending_saves'. (check_pending_save): New. (alloc_record): Clear out entire record. (output_psp_gr): Use renamed structure fields. (output_psp_sprel): Likewise. (output_rp_gr): Likewise. (output_rp_br): Likewise. (output_rp_psprel): Likewise. (output_rp_sprel): Likewise. (output_pfs_gr): Likewise. (output_pfs_psprel): Likewise. (output_pfs_sprel): Likewise. (output_preds_gr): Likewise. (output_preds_psprel): Likewise. (output_preds_sprel): Likewise. (output_spill_base): Likewise. (output_unat_gr): Likewise. (output_unat_psprel): Likewise. (output_unat_sprel): Likewise. (output_lc_gr): Likewise. (output_lc_psprel): Likewise. (output_lc_sprel): Likewise. (output_fpsr_gr): Likewise. (output_fpsr_psprel): Likewise. (output_fpsr_sprel): Likewise. (output_priunat_gr): Likewise. (output_priunat_psprel): Likewise. (output_priunat_sprel): Likewise. (output_bsp_gr): Likewise. (output_bsp_psprel): Likewise. (output_bsp_sprel): Likewise. (output_bspstore_gr): Likewise. (output_bspstore_psprel): Likewise. (output_bspstore_sprel): Likewise. (output_rnat_gr): Likewise. (output_rnat_psprel): Likewise. (output_rnat_sprel): Likewise. (output_spill_psprel): Likewise. (output_spill_sprel): Likewise. (output_spill_reg): Likewise. (output_fr_mem): Likewise. Allocate one unwind record per set mask bit. (output_frgr_mem): Likewise. (output_gr_mem): Likewise. (output_br_mem): Likewise. (output_gr_gr): Likewise. (output_br_gr): Likewise. (fixup_unw_records): Likewise. (process_one_record): Use renamed structure fields. For gr_gr and br_gr, collect mask from chain of records before output. (in_prologue): Simplify and eliminate early returns. Call check_pending_save. (in_body): Simplify and eliminate early returns. (dot_body): Call check_pending_save. (md_assemble): Update comment. Deal with pending saves. gas/testsuite/ 2005-07-27 Jan Beulich <jbeulich@novell.com> * gas/ia64/unwind-bad.l: Uncomment patterns matching new warnings. * gas/ia64/unwind-ok.d: Correct expectations.
2005-07-26gas/Jan Beulich6-0/+220
2005-07-26 Jan Beulich <jbeulich@novell.com> * config/tc-i386.c (optimize_imm): Calculate candidate immediates mask from guessed suffix, but mask out other immediate types only if at least on candidate is valid for the insn. gas/testsuite/ 2005-07-26 Jan Beulich <jbeulich@novell.com> * gas/i386/immed32.[sd]: New. * gas/i386/immed64.[sd]: New. * gas/i386/i386.exp: Run new tests.
2005-07-212005-07-21 Paul Brook <paul@codesourcery.com>Paul Brook3-0/+37
gas/ * config/tc-arm.c (encode_thumb32_addr_mode): Don't set inst.reloc.pc_rel. gas/testsuite/ * gas/arm/thumb32.s: Add tests for [pc, #imm] addressing modes. * gas/arm/thumb32.d: Ditto.
2005-07-20Add support for a 32bit PC relative relocNick Clifton8-0/+77
2005-07-19gas/testsuite/H.J. Lu4-0/+36
2005-07-18 H.J. Lu <hongjiu.lu@intel.com> * gas/i386/i386.exp: Add suffix. * gas/i386/suffix.d: New file. * gas/i386/suffix.s: Likewise. opcodes/ 2005-07-18 H.J. Lu <hongjiu.lu@intel.com> * i386-dis.c (PNI_Fixup): Update comment. (VMX_Fixup): Properly handle the suffix check.
2005-07-19 * gas/hppa/basic/fp_comp.s: Add level 1.1 directive.Dave Anglin4-0/+8
* gas/hppa/basic/special.s, gas/hppa/basic/system.s: Likewise.
2005-07-18gas/Jan Beulich8-0/+640
2005-07-18 Jan Beulich <jbeulich@novell.com> * config/tc-i386.c (reloc): Convert to ISO C90. Change first parameter to unsigned. Parameter sign now is tristate - zero/ positive mean unsigned/signed, negative means signedness doesn't matter. Check field size, signedness, and pcrel-ness are in agreement between relocated field and relocation type. Adjust diagnostics. (optimize_imm): And type mask of operand instead of overwriting it. (lex_got): Convert to ISO C90. Add third parameter. Add new field to local structure and initialize gotrel accordingly. Pass caller as mask of types that the operator can match. (x86_cons_fix_new): Let reloc know that signedness of relocation doesn't matter. (x86_pe_cons_fix_new): Likewise. (x86_cons): Pass additional argument to lex_got. (i386_immediate): New local variable 'types'. Pass its address as additional argument to lex_got. Mask out operand types not supported befoe returning. (i386_displacement): Likewise. Set bigdisp to all types supported in 64-bit mode, combining the previously split initialization. gas/testsuite/ 2005-07-18 Jan Beulich <jbeulich@novell.com> * gas/i386/reloc32.[sdl]: New. * gas/i386/reloc64.[sdl]: New. * gas/i386/i386.exp: Run new tests.
2005-07-15gas/H.J. Lu6-0/+103
2007-07-15 H.J. Lu <hongjiu.lu@intel.com> * gas/config/tc-i386.h (CpuVMX): New. (CpuUnknownFlags): Add CpuVMX. gas/testsuite/ 2007-07-15 H.J. Lu <hongjiu.lu@intel.com> * gas/i386/i386.exp: Add vmx and x86-64-vmx. * gas/i386/vmx.d: New file. * gas/i386/vmx.s: Likewise. * gas/i386/x86-64-vmx.d: Likewise. * gas/i386/x86-64-vmx.s: Likewise. include/opcode/ 2007-07-15 H.J. Lu <hongjiu.lu@intel.com> * i386.h (i386_optab): Support Intel VMX Instructions. opcodes/ 2007-07-15 H.J. Lu <hongjiu.lu@intel.com> * i386-dis.c (OP_VMX): New. Handle Intel VMX Instructions. (VMX_Fixup): New. Fix up Intel VMX Instructions. (Em): New. (Gm): New. (VM): New. (dis386_twobyte): Updated entries 0x78 and 0x79. (twobyte_has_modrm): Likewise. (grps): Use OP_VMX in the "sgdtIQ" entry. Updated GRP9. (OP_G): Handle m_mode.
2005-07-14Add testcase for PR 1063Nick Clifton3-0/+43
2005-07-12 * gas/mmix/relax1-n.d, gas/mmix/relax1-rn.d: Avoid "# FIXME: "Hans-Peter Nilsson3-4/+9
first on a line, adjusting for testsuite framework change.
2005-07-10gas/H.J. Lu3-1/+41
2005-07-10 H.J. Lu <hongjiu.lu@intel.com> * config/tc-i386.c (optimize_disp): Optimize signed 32bit displacements. testsuite/gas/ 2005-07-10 H.J. Lu <hongjiu.lu@intel.com> * i386/x86_64.s: Add absolute siged 32bit addressing tests for mov. * i386/x86_64.d: Updated.
2005-07-08 PR gas/1049Hans-Peter Nilsson4-6/+43
* gas/cris/rd-pic-2.d, gas/cris/rd-pic-2.s: New test. * gas/cris/rd-abs32-1.d: Tweak for not emitting reloc-related garbage for global symbols.
2005-07-07arm-dis.c (opcode32 arm_opcodes): Fix ARM VFP fadds instruction disassemblyNick Clifton2-8/+13
pattern. vfp1xD.d: Adjust expected fadds disassemblies now that the dissassembler has been fixed.
2005-07-052005-05-07 Paul Brook <paul@codesourcery.com>Paul Brook4-3/+9
bfd/ * config.bfd: Add separate case for ppc-vxworks. * configure: Regenerate. * configure.in: Include elf-vxworks.lo on ppc targets. * elf-vxworks.c (elf_vxworks_final_write_processing): Handle .rela.plt.unloaded. * elf32-ppc.c: Add VxWorks target vec. Include elf-vxworks.h. (PLT_ENTRY_SIZE, PLT_INITIAL_ENTRY_SIZE, PLT_SLOT_SIZE): Remove. (VXWORKS_PLT_ENTRY_SIZE, ppc_elf_vxworks_plt_entry, ppc_elf_vxworks_pic_plt_entry, VXWORKS_PLT_INITIAL_ENTRY_SIZE, ppc_elf_vxworks_plt0_entry, ppc_elf_vxworks_pic_plt0_entry, VXWORKS_PLT_NON_JMP_SLOT_RELOCS, VXWORKS_PLTRESOLVE_RELOCS, VXWORKS_PLTRESOLVE_RELOCS_SHLIB): New. (ppc_elf_link_hash_table): Add srelplt2, sgotplt, hgot, hplt, is_vxworks, plt_entry_size, plt_slot_size, plt_initial_entry_size. (ppc_elf_link_hash_table_create): Initialize hadtab plt fields. (ppc_elf_create_got): Create .got.plt for VxWorks. (ppc_elf_create_dynamic_sections): Create unloaded plt relocation section for VxWorks. (ppc_elf_select_plt_layout): Handle VxWorks plt format. (allocate_got): VxWorks does not need a got header. (allocate_dynrelocs): Handle VxWorks plt format. (ppc_elf_size_dynamic_sections): Save _G_O_T_ and _P_L_T_ symbols for VxWorks. Handle VxWorks plt/got. (ppc_elf_finish_dynamic_sections): Fill in VxWorks plt. (ppc_elf_vxworks_special_sections): New. (ppc_elf_vxworks_link_hash_table_create, ppc_elf_vxworks_add_symbol_hook, elf_i386_vxworks_link_output_symbol_hook, ppc_elf_vxworks_final_write_processing): New functions. * targets.c (bfd_elf32_powerpc_vxworks_vec): Declare. (_bfd_target_vector): Use it. gas/ * config/tc-ppc.c (ppc_target_format): Add VxWorks. gas/testsuite/ * gas/ppc/altivec.d: Match all powerpc target vecs. * gas/ppc/booke.d: Ditto. * gas/ppc/e500.d: Ditto. ld/ * Makefile.am (ALL_EMULATIONS): Add eelf32ppcvxworks.o. (eelf32ppcvxworks.o): Add dependencies. * Makefile.in: Regenerate. * configure.tgt: Add entry for powerpc-vxworks. * emulparams/elf32-ppc.c: Mention elf32ppcvxworks.sh in comment. * emulparams/elf32ppcvxworks.sh: New file. * emultempl/ppc32elf.em (bfd_elf32_powerpc_vxworks_vec): Declare. (is_ppc_elf32_vec): New function. (ppc_after_open, ppc_before_allocation, gld${EMULATION_NAME}_after_allocation): Use it.
2005-07-05 * config/tc-ms1.c: New.Aldy Hernandez28-0/+941
* config/tc-ms1.h: New. * testsuite/gas/ms1/allinsn.d: New. * testsuite/gas/ms1/allinsn.s: New. * testsuite/gas/ms1/badinsn.s: New. * testsuite/gas/ms1/badinsn1.s: New. * testsuite/gas/ms1/badoffsethigh.s: New. * testsuite/gas/ms1/badoffsetlow.s: New. * testsuite/gas/ms1/badorder.s: New. * testsuite/gas/ms1/badreg.s: New. * testsuite/gas/ms1/badsignedimmhigh.s: New. * testsuite/gas/ms1/badsignedimmlow.s: New. * testsuite/gas/ms1/badsyntax.s: New. * testsuite/gas/ms1/badsyntax1.s: New. * testsuite/gas/ms1/badunsignedimmhigh.s: New. * testsuite/gas/ms1/badunsignedimmlow.s: New. * testsuite/gas/ms1/errors.exp: New. * testsuite/gas/ms1/ldst.s: New. * testsuite/gas/ms1/misc.d: New. * testsuite/gas/ms1/misc.s: New. * testsuite/gas/ms1/ms1-16-003.d: New. * testsuite/gas/ms1/ms1-16-003.s: New. * testsuite/gas/ms1/ms1.exp: New. * testsuite/gas/ms1/msys.d: New. * testsuite/gas/ms1/msys.s: New. * testsuite/gas/ms1/relocs.d: New. * testsuite/gas/ms1/relocs.exp: New. * testsuite/gas/ms1/relocs1.s: New. * testsuite/gas/ms1/relocs2.s: New.
2005-07-05gas/Jan Beulich5-0/+115
2005-07-05 Jan Beulich <jbeulich@novell.com> * config/tc-i386.h (CpuSVME): New. (CpuUnknownFlags): Include CpuSVME. * config/tc-i386.c (cpu_arch): Add .pacifica and .svme. Add opteron as alias of sledgehammer. (md_assemble): Include invlpga in the check for insns with two source operands. (process_operands): Include SVME insns in the check for ignored segment overrides. Adjust diagnostic. (i386_index_check): Special-case SVME insns with memory operands. gas/testsuite/ 2005-07-05 Jan Beulich <jbeulich@novell.com> * gas/i386/svme.d: New. * gas/i386/svme.s: New. * gas/i386/svme64.d: New. * gas/i386/i386.exp: Run new tests. include/opcode/ 2005-07-05 Jan Beulich <jbeulich@novell.com> * i386.h (i386_optab): Add new insns. opcodes/ 2005-07-05 Jan Beulich <jbeulich@novell.com> * i386-dis.c (SVME_Fixup): New. (grps): Use it for the lidt entry. (PNI_Fixup): Call OP_M rather than OP_E. (INVLPG_Fixup): Likewise.
2005-07-042005-07-04 Zack Weinberg <zack@codesourcery.com>Paul Brook26-150/+323
* lib/gas-defs.exp (run_dump_tests): New proc. (run_dump_test): Add support for new options: target, not-target, skip, not-skip, error-output. Document stderr. Tidy a little. (slurp_options): If a line doesn't match the option regexp, but does begin with #, ignore it; don't stop parsing options. * gas/arm/arm.exp: Remove most code. Use run_dump_tests. * gas/arm/archv6t2-bad.d, gas/arm/armv1.d, gas/arm/iwmmxt-bad.d * gas/arm/r15-bad.d, gas/arm/req.d, gas/arm/t16-bad.d * gas/arm/undefined.d, gas/arm/undefined_coff.d, gas/arm/vfp-bad.d: New files. * gas/arm/bignum1.d, gas/arm/mapping.d, gas/arm/pic.d: Only run on ELF targets. * gas/arm/tls.d, gas/arm/unwind.d: Only run on ELF targets. Skip on VxWorks. * gas/arm/tls_vxworks.d, gas/arm/unwind_vxworks.d: New files. * gas/arm/thumb.d, gas/arm/thumb32.d: Don't run on aout or pe. * gas/arm/le-fpconst.d: Only run on *-*-pe. * gas/arm/inst.d: Skip on WinCE. * gas/arm/wince_inst.d: Skip unless WinCE. * gas/arm/el_segundo.d: Mark up for actual use; adjust expectations. * gas/arm/el_segundo.s: Remove irrelevant junk. Add padding for a.out's sake.
2005-07-01gas/Jan Beulich11-19/+773
2005-07-01 Jan Beulich <jbeulich@novell.com> * config/tc-ia64.c (line_separator_chars): Add '{' and '}'. (output_spill_psprel, output_spill_psprel_p): Combine. (output_spill_sprel, output_spill_sprel_p): Combine. (output_spill_reg, output_spill_regp_p): Combine. (process_one_record): Handle psp_psprel. (parse_predicate_and_operand): New. (convert_expr_to_ab_reg): Two new parameters. Return void. Always initialize output values. Emit diagnostic case here. (convert_expr_to_xy_reg): Likewise. Don't allow r0, f0, and f1. (add_unwind_entry): New second parameter. Allow first parameter to be NULL. Parse optional tag, emit warning about further support for it otherwise being missing. Check end-of-line when requested. (dot_fframe): Clear operand when wrong. Allow tag. (dot_vframe): Likewise. (dot_vframesp): Likewise. Rename parameter, issue warning when psp relative. (dot_vframepsp): Remove. (dot_altrp): Clear operand when wrong. Allow tag. (dot_save): Likewise. Let default case also go through add_unwind_entry. (dot_savemem): Likewise. (dot_restore): Don't return when wrong operand. Allow tag. (dot_spillreg, dot_spillreg_p): Combine. Simplify by using parse_predicate_and_operand and the new arguments to convert_expr_to_ab_reg and convert_expr_to_xy_reg. Don't return when wrong operand. Allow tag. (dot_restorereg, dot_restorereg_p): Likewise. (dot_spillmem, dot_spillmem_p): Likewise. (dot_saveg): Clear operand when wrong. Perform tighter operand checks. Allow tag. (dot_savef): Likewise. (dot_saveb): Likewise. (dot_savegf): Likewise. (dot_spill): Remove end-of-line check. Combine. Simplify by using parse_predicate_and_operand and the new arguments to convert_expr_to_ab_reg and convert_expr_to_xy_reg. Don't return when wrong operand. Allow tag. (popcount): New. (dot_label_state): Don't return when wrong operand. (dot_copy_state): Likewise. (dot_unwabi): Likewise. Check if in prologue. (dot_body): Don't call demand_empty_rest_of_line. (dot_prologue): Type of mask and grsave is unsigned. Perform tighter operand checks. (md_pseudo_table): Also use dot_restorereg for .restorereg.p. Also use dot_spillreg for .spillreg.p. Also use dot_spillmem for .spillpsp.p and .spillsp.p. Also use dot_vframesp for .vframepsp. (parse_operand): New second parameter. Don't deal with '}' here anymore. Don't advance past end-of-line. (parse_operands): Pass second argument to parse_operand. (ia64_start_line): Prevent out-of-bounds access through input_line_pointer. Deal with '}' here. (ia64_unrecognized_line): Don't deal with '}' here. (dot_alias): Use ignore_rest_of_line not its deprecated alias discard_rest_of_line. gas/testsuite/ 2005-07-01 Jan Beulich <jbeulich@novell.com> * gas/ia64/group-2.s: Use register as second operand of .prologue. * gas/ia64/unwind-err.s: Add check for .vframesp. * gas/ia64/unwind-err.l: Adjust. * gas/ia64/strange.[sd]: New. * gas/ia64/unwind-bad.[sl]: New. * gas/ia64/unwind-ok.[sd]: New. * gas/ia64/ia64.exp: Run new tests.
2005-06-30gas:Zack Weinberg6-158/+11
* config/tc-arm.c (T_OPCODE_BRANCH, encode_arm_addr_mode_2) (encode_arm_addr_mode_3, encode_arm_cp_address, do_blx, do_t_blx) (do_t_branch, insns [b, bl]): Don't encode pipeline offset. (s_arm_elf_cons): Disallow use of (plt) suffix. (do_adrl): Adjust X_add_number unconditionally. (md_pcrel_from): Rename md_pcrel_from_section, add second segT argument. Handle all adjustment for pipeline offset here. (md_apply_fix): No need to undo work of md_pcrel_from. No need to extract pre-encoded pipeline adjustments from various branch instructions. Generally, assume instructions are already all-bits-zero in the field being fixed up. Remove all OBJ_ELF special cases. Handle BFD_RELOC_ARM_PLT32 like BFD_RELOC_ARM_PCREL_BRANCH. (tc_gen_reloc): Remove OBJ_ELF special case. * config/tc-arm.c: Define MD_PCREL_FROM_SECTION. gas/testsuite: * gas/arm/arm.exp: Don't special case ldconst, arm7t, or copro for *-wince-*. * gas/arm/wince_arm7t.d, gas/arm/wince_copro.d * gas/arm/wince_ldconst.d: Delete.
2005-06-20gas/H.J. Lu3-0/+44
2005-06-20 H.J. Lu <hongjiu.lu@intel.com> PR 1013 * config/tc-i386.c (md_assemble): Don't call optimize_disp on movabs. (optimize_disp): Optimize only if possible. Don't use 64bit displacement on non-constants and do same on constants if possible. gas/testsuite/ 2005-06-20 H.J. Lu <hongjiu.lu@intel.com> PR 1013 * i386/x86_64.s: Add absolute 64bit addressing tests for mov. * i386/x86_64.s: Updated. include/opcode/ 2005-06-20 H.J. Lu <hongjiu.lu@intel.com> PR 1013 * i386.h (i386_optab): Update comments for 64bit addressing on mov. Allow 64bit addressing for mov and movq.
2005-06-17bfd/Jan Beulich3-3/+20
2005-06-17 Jan Beulich <jbeulich@novell.com> * bfd-in2.h (elf_x86_64_reloc_type): Add BFD_RELOC_X86_64_GOTOFF64 and BFD_RELOC_X86_64_GOTPC32. * libbfd.h (bfd_reloc_code_real_names): Likewise. * elf64-x86-64.c (x86_64_elf_howto_table): Add entries for R_X86_64_PC64, R_X86_64_GOTOFF64, and R_X86_64_GOTPC32. (x86_64_reloc_map): Add entries for R_X86_64_PC64, R_X86_64_GOTOFF64, and R_X86_64_GOTPC32. (elf64_x86_64_info_to_howto): Adjust bounding relocation type. (elf64_x86_64_check_relocs): Also handle R_X86_64_PC64, R_X86_64_GOTOFF64, and R_X86_64_GOTPC32. (elf64_x86_64_relocate_section): Likewise. (elf64_x86_64_gc_sweep_hook): Also handle R_X86_64_PC64. gas/ 2005-06-17 Jan Beulich <jbeulich@novell.com> * config/tc-i386.c (reloc): Also handle BFD_RELOC_64_PCREL. (tc_i386_fix_adjustable): Include BFD_RELOC_X86_64_GOTOFF64, BFD_RELOC_X86_64_DTPOFF64, and BFD_RELOC_X86_64_TPOFF64. (output_disp): Do GOTPC conversion also for BFD_RELOC_X86_64_32S and BFD_RELOC_32_PCREL. Use BFD_RELOC_X86_64_GOTPC32 instead of aborting. (output_imm): Do GOTPC conversion also for BFD_RELOC_X86_64_32S. Use BFD_RELOC_X86_64_GOTPC32 instead of aborting. (tc_gen_reloc): Do GOTPC conversion also for BFD_RELOC_32_PCREL. Use BFD_RELOC_X86_64_GOTPC32 instead of aborting. Also handle BFD_RELOC_X86_64_GOTOFF64, BFD_RELOC_X86_64_GOTPC32, BFD_RELOC_X86_64_DTPOFF64, and BFD_RELOC_X86_64_TPOFF64. Also convert 8-byte pc-relative relocations. (lex_got): Use BFD_RELOC_X86_64_GOTOFF64 for 64-bit @gotoff. (i386_validate_fix): Likewise. (x86_cons): Also handle quad values in 64-bit mode. (i386_displacement): Also handle BFD_RELOC_X86_64_GOTOFF64. (md_apply_fix): Include BFD_RELOC_X86_64_DTPOFF64 and BFD_RELOC_X86_64_TPOFF64 in the TLS check. Also convert BFD_RELOC_64 to pc-relative variant. Also check for BFD_RELOC_64_PCREL. gas/testsuite/ 2005-06-17 Jan Beulich <jbeulich@novell.com> * gas/i386/x86-64-pcrel.s: Add insn requiring 64-bit pc-relative relocation. Add insns for all widths of non-pc-relative relocations. * gas/i386/x86-64-pcrel.d: Adjust. include/elf/ 2005-06-17 Jan Beulich <jbeulich@novell.com> * x86-64.h (elf_x86_64_reloc_type): Adjust comment for R_X86_64_GOTPCREL. Add R_X86_64_PC64, R_X86_64_GOTOFF64, and R_X86_64_GOTPC32.
2005-06-13gas:Zack Weinberg4-84/+58
* config/tc-arm.c (find_real_start): Check S_IS_LOCAL on symbolP as well as for names with a leading dot. Use ACONCAT. (md_apply_fix): For branch relocations, only replace value with fixP->fx_offset (under #ifdef OBJ_ELF) when !fixP->fx_done. (arm_force_relocation): Remove #ifdef OBJ_ELF case. * config/tc-arm.h (LOCAL_LABEL): Remove unnecessary parentheses. (LOCAL_LABEL_PREFIX): Don't define. gas/testsuite: * gas/arm/thumb.s: Only branch to labels defined in this file. * gas/arm/thumb.d, gas/arm/thumb32.d: Adjust expected output.
2005-06-07Revert accidental commitZack Weinberg3-53/+84
2005-06-07gas:Zack Weinberg3-84/+53
* cgen.c, cgen.h, tc.h, write.c, config/obj-coff.c * config/tc-a29k.c, config/tc-alpha.c, config/tc-alpha.h * config/tc-arc.c, config/tc-arc.h, config/tc-arm.c * config/tc-arm.h, config/tc-avr.c, config/tc-avr.h * config/tc-cris.c, config/tc-crx.c, config/tc-d10v.c * config/tc-d10v.h, config/tc-d30v.c, config/tc-d30v.h * config/tc-dlx.c, config/tc-dlx.h, config/tc-fr30.h * config/tc-frv.c, config/tc-frv.h, config/tc-h8300.c * config/tc-h8500.c, config/tc-hppa.c, config/tc-hppa.h * config/tc-i370.c, config/tc-i370.h, config/tc-i386.c * config/tc-i386.h, config/tc-i860.c, config/tc-i860.h * config/tc-i960.c, config/tc-i960.h, config/tc-ia64.c * config/tc-ip2k.c, config/tc-ip2k.h, config/tc-iq2000.c * config/tc-iq2000.h, config/tc-m32r.c, config/tc-m32r.h * config/tc-m68hc11.c, config/tc-m68hc11.h, config/tc-m68k.c * config/tc-m68k.h, config/tc-m88k.c, config/tc-maxq.c * config/tc-mcore.c, config/tc-mcore.h, config/tc-mips.c * config/tc-mips.h, config/tc-mmix.c, config/tc-mn10200.c * config/tc-mn10300.c, config/tc-msp430.c, config/tc-ns32k.c * config/tc-openrisc.h, config/tc-or32.c, config/tc-or32.h * config/tc-pdp11.c, config/tc-pj.c, config/tc-pj.h * config/tc-ppc.c, config/tc-ppc.h, config/tc-s390.c * config/tc-s390.h, config/tc-sh64.c, config/tc-sh.c * config/tc-sh.h, config/tc-sparc.c, config/tc-sparc.h * config/tc-tahoe.c, config/tc-tic30.c, config/tc-tic4x.c * config/tc-tic54x.c, config/tc-tic80.c, config/tc-v850.c * config/tc-v850.h, config/tc-vax.c, config/tc-vax.h * config/tc-w65.c, config/tc-xstormy16.c, config/tc-xstormy16.h * config/tc-xtensa.c, config/tc-z8k.c: Replace all instances of the string "_apply_fix3" with "_apply_fix". * po/POTFILES.in, po/gas.pot: Regenerate. bfd: * coff-i386.c: Change md_apply_fix3 to md_apply_fix in comment. cgen: * doc/porting.texi: Change all mention of md_apply_fix3 and gas_cgen_md_apply_fix3 to md_apply_fix and gas_cgen_md_apply_fix respectively.
2005-06-01gas/:Maciej W. Rozycki3-96/+101
* config/tc-mips.c (load_register): Add leading "0x" to the output of sprintf_vma(). (macro): Likewise. gas/testsuite/: * gas/mips/ldstla-32-1.l: Update to handle leading zeroes. * gas/mips/ldstla-32-mips3-1.l: Likewise.
2005-05-27gas/Jan Beulich2-0/+5
2005-05-27 Jan Beulich <jbeulich@novell.com> * config/tc-ia64.c (struct proc_pending): New. (unwind): Replace proc_start with proc_pending. (unwind_diagnostic): Check unwind.proc_pending.sym. (dot_proc): Replace unwind.proc_start with unwind.proc_pending.sym. Check if previous proc not closed. Record all entry points. (dot_endp): Replace unwind.proc_start with unwind.proc_pending.sym. Set symbol sizes for entry points recorded in dot_proc. Check arguments for consistency with respective .proc's. (md_assemble): Replace unwind.proc_start with unwind.proc_pending.sym. gas/testsuite/ 2005-05-27 Jan Beulich <jbeulich@novell.com> * gas/ia64/proc.l: Adjust.
2005-05-26Patch from Steve Ellcey for ia64-hpux testsuite failure.Jim Wilson2-1/+5
gas/ia64/global.d: Change --sym to --syms.
2005-05-252005-05-25 H.J. Lu <hongjiu.lu@intel.com>H.J. Lu3-2/+7
* gas/ia64/group-1.d: Updated. * gas/ia64/group-2.d: Likewise.
2005-05-25gas/Jan Beulich4-0/+16
2005-05-25 Jan Beulich <jbeulich@novell.com> * config/tc-ia64.c (dot_radix): Rewrite. gas/testsuite/ 2005-05-25 Jan Beulich <jbeulich@novell.com> * gas/ia64/radix.s: New. * gas/ia64/radix.l: New. * gas/ia64/ia64.exp: Run new test.
2005-05-25gas/testsuite/Jan Beulich2-3/+8
2005-05-25 Jan Beulich <jbeulich@novell.com> * gas/i386/intelok.d: Account for 32-bit displacements being shown in hex. opcodes/ 2005-05-25 Jan Beulich <jbeulich@novell.com> * i386-dis.c (OP_E): In Intel mode, display 32-bit displacements in hex (but retain it being displayed as signed). Remove redundant checks. Add handling of displacements for 16-bit addressing in Intel mode.
2005-05-252005-05-24 H.J. Lu <hongjiu.lu@intel.com>H.J. Lu3-2/+7
* gas/elf/group0b.d: Updated. * gas/elf/group1b.d: Likewise.
2005-05-19gas/Jan Beulich5-0/+50
2005-05-19 Jan Beulich <jbeulich@novell.com> * config/tc-ia64.c (dot_endp): Don't use global symbol for unwind relocations in unwind section. gas/testsuite/ 2005-05-19 Jan Beulich <jbeulich@novell.com> * gas/ia64/reloc-uw.s: New. * gas/ia64/reloc-uw.d: New. * gas/ia64/reloc-uw-ilp32.d: New. * gas/ia64/ia64.exp: Run new test.
2005-05-18gas/testsuite/Jan Beulich2-1/+5
2005-05-18 Jan Beulich <jbeulich@novell.com> * gas/all/altmacro.s: Parenthesize operand of %.
2005-05-18include/elf:Zack Weinberg46-191/+2926
* arm.h: Import complete list of official relocation names and numbers from AAELF. Define FAKE_RELOCs for old names. Remove a few old names no longer used anywhere. bfd: * elf32-arm.c: Wherever possible, use official reloc names from AAELF. (elf32_arm_howto_table, elf32_arm_tls_gd32_howto) (elf32_arm_tls_ldo32_howto, elf32_arm_tls_ldm32_howto) (elf32_arm_tls_le32_howto, elf32_arm_tls_ie32_howto) (elf32_arm_vtinherit_howto, elf32_arm_vtentry_howto) (elf32_arm_pc11_howto, elf32_arm_thm_pc9_howto, elf32_arm_got_prel) (elf32_arm_r_howto): Replace with elf32_arm_howto_table_1, elf32_arm_howto_table_2, and elf32_arm_howto_table_3. Add many new relocations from AAELF. (elf32_arm_howto_from_type): Update to match. (elf32_arm_reloc_map): Add entries for R_ARM_THM_JUMP24, R_ARM_THM_JUMP11, R_ARM_THM_JUMP19, R_ARM_THM_JUMP8, R_ARM_THM_JUMP6, R_ARM_GNU_VTINHERIT, and R_ARM_GNU_VTENTRY. (elf32_arm_reloc_type_lookup): Use elf32_arm_howto_from_type. (elf32_arm_final_link_relocate): Add support for R_ARM_THM_JUMP24, R_ARM_THM_JUMP19, R_ARM_THM_JUMP6. Remove case entries redundant with default. * reloc.c: Reorganize ARM relocations. Add Thumb assembler-internal relocations BFD_RELOC_ARM_T32_OFFSET_U8, BFD_RELOC_ARM_T32_OFFSET_IMM, BFD_RELOC_ARM_T32_IMMEDIATE. Add visible relocations BFD_RELOC_THUMB_PCREL_BRANCH7, BFD_RELOC_THUMB_BRANCH20, BFD_RELOC_THUMB_BRANCH25. Delete unused relocations BFD_RELOC_ARM_GOT12, BFD_RELOC_ARM_COPY. * bfd-in2.h, libbfd.h: Regenerate. opcodes: * arm-dis.c (thumb_opcodes): Add disassembly for V6T2 16-bit instructions. Adjust disassembly of some opcodes to match unified syntax. (thumb32_opcodes): New table. (print_insn_thumb): Rename print_insn_thumb16; don't handle two-halfword branches here. (print_insn_thumb32): New function. (print_insn): Choose among print_insn_arm, print_insn_thumb16, and print_insn_thumb32. Be consistent about order of halfwords when printing 32-bit instructions. gas: * hash.c (hash_lookup): Add len parameter. All callers changed. (hash_find_n): New interface. * hash.h: Prototype hash_find_n. * sb.c: Include as.h. (scrub_from_sb, sb_to_scrub, scrub_position): New statics. (sb_scrub_and_add_sb): New interface. * sb.h: Prototype sb_scrub_and_add_sb. * input-scrub.c (input_scrub_include_sb): Use sb_scrub_and_add_sb. * config/tc-arm.h (TC_FORCE_RELOCATION_LOCAL): Remove reference to BFD_RELOC_ARM_GOT12 which is never generated. * config/tc-arm.c: Rewrite, adding Thumb-2 support. gas/testsuite: * gas/arm/arm.exp: Convert all existing "gas_test" tests to "run_dump_test" tests. Run more tests unconditionally. Run new tests. * gas/arm/arch4t.s, gas/arm/arch6zk.s, gas/arm/arm3.s, gas/arm/arm6.s * gas/arm/arm7dm.s, gas/arm/bignum1.s, gas/arm/float.s * gas/arm/immed.s, gas/arm/iwmmxt.s, gas/arm/offset.s, gas/arm/thumb.s: Adjust to work as a dump test. * gas/arm/arch4t.d, gas/arm/arch6zk.d, gas/arm/arm3.d, gas/arm/arm6.d * gas/arm/arm7dm.d, gas/arm/bignum1.d, gas/arm/float.d * gas/arm/immed.d, gas/arm/iwmmxt.d, gas/arm/offset.d, gas/arm/thumb.d: New files. * gas/arm/armv1-bad.l, gas/arm/armv1-bad.s: Remove tests for diagnostics that don't happen in the first pass anymore. * gas/arm/iwmmxt-bad.l, gas/arm/r15-bad.l, gas/arm/req.l * gas/arm/vfp-bad.l: Update expected diagnostics. * gas/arm/pic.d: Update expected reloc name. * gas/arm/thumbv6.d: CPY no longer appears in disassembly. * gas/arm/r15-bad.s: Avoid two-argument mul. * gas/arm/req.s: Adjust comments. * gas/arm/maverick.d, gas/arm/maverick.s: Avoid inappropriate use of PC. * gas/arm/macro-1.d, gas/arm/macro1.s * gas/arm/t16-bad.l, gas/arm/t16-bad.s * gas/arm/tcompat.d, gas/arm/tcompat.s * gas/arm/tcompat2.d, gas/arm/tcompat2.s * gas/arm/thumb32.d, gas/arm/thumb32.s New test pair. ld/testsuite: * ld-arm/mixed-app.d: Adjust expected disassembly a little.
2005-05-17gas/Jan Beulich2-1/+5
2005-05-17 Jan Beulich <jbeulich@novell.com> * read.c (_find_end_of_line): New. (find_end_of_line): New. (HANDLE_CONDITIONAL_ASSEMBLY): Use it. (read_a_source_file): Use it. (s_globl): Use it. (s_macro): Use it. (get_line_sb): Use it. (s_errwarn): Replace discard_rest_of_line by ignore_rest_of_line. (s_comm_internal): Likewise. (s_lsym): Likewise. (s_macro): Likewise. (s_ignore): Use ignore_rest_of_line. * read.h (find_end_of_line): Prototype. (discard_rest_of_line): Remove prototype. #define to ignore_rest_of_line. gas/testsuite/ 2005-05-17 Jan Beulich <jbeulich@novell.com> * gas/mmix/err-byte1.s: Adjust expected error text on line 10.
2005-05-17* config/tc-v850,h (TC_FIX_TYPE): Define. (TC_INIT_FIX_TYPE): Define.Nick Clifton3-0/+12
* config/tc-v850.c (md_assemble): When creating a fix record the operand in the tc_fix_data field. (md_apply_fix3): When applying a resolved fix use the operand's insertion procedure to store the value, if the operand has been recorded. * gas/v850/split-lo16.s: Add test for a lo() pseudo reloc corrupting an ld.w instruction. * gas/v850/split-lo16.d: Add expected, correct (ie not corrupt) output.