summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
* daily updateAlan Modra2012-08-311-1/+1
|
* * layout.cc (Layout::set_segment_offsets): Set p_align toAlan Modra2012-08-302-2/+9
| | | | | | abi_pagesize, not common_pagesize. (Layout::relaxation_loop_body): Similarly use abi_pagesize to determine whether file header can go in segment.
* * output.h (Output_reloc::Output_reloc <output section>): AddAlan Modra2012-08-303-71/+122
| | | | | | | | is_relative param. Adjust calls. (Output_reloc::add_output_section_relative): New functions. * output.cc (Output_reloc::Output_reloc <output section>): Handle is_relative. (Output_reloc::symbol_value): Handle SECTION_CODE.
* daily updateAlan Modra2012-08-301-1/+1
|
* * ppc-opc.c (VXASHB_MASK): New define.Peter Bergner2012-08-292-1/+9
| | | | (powerpc_opcodes) <vsldoi>: Use VXASHB_MASK.
* Replace malloc with xmallocH.J. Lu2012-08-292-38/+16
| | | | | | | * argv.c (dupargv): Replace malloc with xmalloc. Don't check xmalloc return. (buildargv): Likewise. Also replace strdup with xstrdup. (expandargv): Don't check dupargv return.
* Replace alloca with xmalloc/freeH.J. Lu2012-08-292-1/+8
| | | | | PR binutils/14526 * argv.c (buildargv): Replace alloca with xmalloc/free.
* daily updateAlan Modra2012-08-291-1/+1
|
* * ld-elf/export-class.sd: New test.Maciej W. Rozycki2012-08-2828-0/+854
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | * ld-elf/export-class.vd: New test. * ld-elf/export-class-def.s: New test source. * ld-elf/export-class-dep.s: New test source. * ld-elf/export-class-lib.s: New test source. * ld-elf/export-class-ref.s: New test source. * ld-elf/export-class-lib.ver: New test version script. * ld-elf/export-class.exp: New test script. * ld-arm/arm-export-class.rd: New test. * ld-arm/arm-export-class.xd: New test. * ld-arm/export-class.exp: New test script. * ld-i386/i386-export-class.rd: New test. * ld-i386/i386-export-class.xd: New test. * ld-i386/export-class.exp: New test script. * ld-mips-elf/mips-32-export-class.rd: New test. * ld-mips-elf/mips-32-export-class.xd: New test. * ld-mips-elf/mips-64-export-class.rd: New test. * ld-mips-elf/mips-64-export-class.xd: New test. * ld-mips-elf/export-class.exp: New test script. * ld-powerpc/powerpc-32-export-class.rd: New test. * ld-powerpc/powerpc-32-export-class.xd: New test. * ld-powerpc/powerpc-64-export-class.rd: New test. * ld-powerpc/powerpc-64-export-class.xd: New test. * ld-powerpc/export-class.exp: New test script. * ld-x86-64/x86-64-64-export-class.rd: New test. * ld-x86-64/x86-64-x32-export-class.rd: New test. * ld-x86-64/export-class.exp: New test script.
* * elf32-ppc.c (ppc_elf_relocate_section): Assert that dynindx isMaciej W. Rozycki2012-08-283-1/+13
| | | | | not minus one. * elf64-ppc.c (ppc64_elf_relocate_section): Likewise.
* * elflink.c (_bfd_elf_merge_symbol): Also override the versionMaciej W. Rozycki2012-08-282-14/+22
| | | | | a dynamic symbol defaulted to if preempted with a hidden or internal definition.
* * ppc-opc.c (UIMM4, UIMM3, UIMM2, VXVA_MASK, VXVB_MASK, VXVAVB_MASK,Peter Bergner2012-08-282-23/+66
| | | | | | | | | | | | | VXVDVA_MASK, VXUIMM4_MASK, VXUIMM3_MASK, VXUIMM2_MASK): New defines. (powerpc_opcodes) <vexptefp, vlogefp, vrefp, vrfim, vrfin, vrfip, vrfiz, vrsqrtefp, vupkhpx, vupkhsb, vupkhsh, vupklpx, vupklsb, vupklsh>: Use VXVA_MASK. <vspltisb, vspltish, vspltisw>: Use VXVB_MASK. <mfvscr>: Use VXVAVB_MASK. <mtvscr>: Use VXVDVA_MASK. <vspltb>: Use VXUIMM4_MASK. <vsplth>: Use VXUIMM3_MASK. <vspltw>: Use VXUIMM2_MASK.
* Add padding to the plt section so that its size is a multiple of itswalt2012-08-283-7/+28
| | | | | | | | | | | | entry size. * elf32-tilepro.c (allocate_dynrelocs): Use PLT_ENTRY_SIZE as size of header. (tilepro_plt_entry_build): Account for new header size. (tilepro_elf_finish_dynamic_sections): Ditto. (tilepro_elf_plt_sym_val): Ditto. * elfxx-tilegx.c (allocate_dynrelocs): Use PLT_ENTRY_SIZE as size of header + tail. (tilegx_elf_finish_dynamic_sections): Account for new padding.
* Add support for constructing pc-relative addresses to the plt, bywalt2012-08-2810-33/+286
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | adding the necessary assembly operators and relocations. bfd: * reloc.c (Add BFD_RELOC_TILEGX_IMM16_X0_HW0_PLT_PCREL, BFD_RELOC_TILEGX_IMM16_X1_HW0_PLT_PCREL, BFD_RELOC_TILEGX_IMM16_X0_HW1_PLT_PCREL, BFD_RELOC_TILEGX_IMM16_X1_HW1_PLT_PCREL, BFD_RELOC_TILEGX_IMM16_X0_HW2_PLT_PCREL, BFD_RELOC_TILEGX_IMM16_X1_HW2_PLT_PCREL, BFD_RELOC_TILEGX_IMM16_X0_HW3_PLT_PCREL, BFD_RELOC_TILEGX_IMM16_X1_HW3_PLT_PCREL, BFD_RELOC_TILEGX_IMM16_X0_HW0_LAST_PLT_PCREL, BFD_RELOC_TILEGX_IMM16_X1_HW0_LAST_PLT_PCREL, BFD_RELOC_TILEGX_IMM16_X0_HW1_LAST_PLT_PCREL, BFD_RELOC_TILEGX_IMM16_X1_HW1_LAST_PLT_PCREL, BFD_RELOC_TILEGX_IMM16_X0_HW2_LAST_PLT_PCREL, BFD_RELOC_TILEGX_IMM16_X1_HW2_LAST_PLT_PCREL): new relocations. * elfxx-tilegx.c (tilegx_elf_howto_table): Handle new relocations. (tilegx_reloc_map): Ditto. (reloc_to_create_func): Ditto. (tilegx_elf_check_relocs): Ditto. (tilegx_elf_gc_sweep_hook): Ditto. (tilegx_elf_relocate_section): Ditto. * libbfd.h: Regenerate. * bfd-in2.h: Regenerate. gas: * tc-tilegx.c (O_hw0_plt): Define operator. (O_hw1_plt): Ditto. (O_hw1_last_plt): Ditto. (O_hw2_last_plt): Ditto. (md_begin): Handle new operators. (emit_tilegx_instruction): Ditto. (md_apply_fix): Ditto. * doc/c-tilegx.texi: Document new operators. include/elf: * tilegx.h (R_TILEGX_IMM16_X0_HW0_PLT_PCREL): New relocation. (R_TILEGX_IMM16_X1_HW0_PLT_PCREL): Ditto. (R_TILEGX_IMM16_X0_HW1_PLT_PCREL): Ditto. (R_TILEGX_IMM16_X1_HW1_PLT_PCREL): Ditto. (R_TILEGX_IMM16_X0_HW2_PLT_PCREL): Ditto. (R_TILEGX_IMM16_X1_HW2_PLT_PCREL): Ditto. (R_TILEGX_IMM16_X0_HW3_PLT_PCREL): Ditto. (R_TILEGX_IMM16_X1_HW3_PLT_PCREL): Ditto. (R_TILEGX_IMM16_X0_HW0_LAST_PLT_PCREL): Ditto. (R_TILEGX_IMM16_X1_HW0_LAST_PLT_PCREL): Ditto. (R_TILEGX_IMM16_X0_HW1_LAST_PLT_PCREL): Ditto. (R_TILEGX_IMM16_X1_HW1_LAST_PLT_PCREL): Ditto. (R_TILEGX_IMM16_X0_HW2_LAST_PLT_PCREL ): Ditto. (R_TILEGX_IMM16_X1_HW2_LAST_PLT_PCREL): Ditto.
* daily updateAlan Modra2012-08-281-1/+1
|
* daily updateAlan Modra2012-08-271-1/+1
|
* Don't set HOST_LIB_PATH_bfd/HOST_LIB_PATH_opcodesH.J. Lu2012-08-263-13/+10
| | | | | | | PR binutils/4970 * Makefile.def (host_modules): Rmove lib_path=.libs from bfd and opcodes. * Makefile.in: Regenerated.
* Sync toplevel files with GCC treeH.J. Lu2012-08-269-1502/+2300
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2012-08-14 Diego Novillo <dnovillo@google.com> Merge from cxx-conversion branch. * Makefile.tpl (STAGE[+id+]_CXXFLAGS): Remove POSTSTAGE1_CONFIGURE_FLAGS. * Makefile.in: Regenerate. * configure.ac (ENABLE_BUILD_WITH_CXX): Remove. Update all users. Force C++ when bootstrapping. * configure: Regenerate. 2012-07-06 Richard Guenther <rguenther@suse.de> * Makefile.def (cloog): Pass $(HOST_GMPINC) and $(HOST_ISLINC) as CPPFLAGS, pass path to built gmp as LDFLAGS, always use --with-gmp=system. * Makefile.in: Regenerated. * configure: Likewise. 2012-07-06 Richard Guenther <rguenther@suse.de> * configure.ac (extra_isl_gmp_configure_flags): Initialize and subst. * Makefile.def (isl): Use extra_isl_gmp_configure_flags and supply V=1 as extra_make_flags. * configure: Regenerated. * Makefile.in: Likewise. 2012-07-03 Richard Guenther <rguenther@suse.de> * Makfile.def (isl): Remove not necessary extra_exports and extra_make_flags. (cloog): Use $$CPPFLAGS instead of ${CPPFLAGS}. * Makefile.in: Regenerated. 2012-07-03 Richard Guenther <rguenther@suse.de> * Makefile.def (cloog): Add V=1 to extra_make_flags. * configure.ac: If either the ISL or the CLooG check failed do not try to build in-tree versions. * Makefile.in: Regenerated. * configure: Regenerated. 2012-07-02 Richard Guenther <rguenther@suse.de> Michael Matz <matz@suse.de> Tobias Grosser <tobias@grosser.es> Sebastian Pop <sebpop@gmail.com> * Makefile.def: Add ISL host module, remove PPL host module. Adjust ClooG host module to use the proper ISL. * Makefile.tpl: Pass ISL include flags instead of PPL ones. * configure.ac: Include config/isl.m4. Add ISL host library, remove PPL. Remove PPL configury, add ISL configury, adjust ClooG configury. * Makefile.in: Regenerated. * configure: Likewise. 2012-07-02 Richard Guenther <rguenther@suse.de> Merge from graphite branch 2011-07-21 Tobias Grosser <tobias@grosser.es> * configure: Regenerated. * config/cloog.m4: Remove support for CLooG-ppl and CLooG-parma, both cloog.org and legacy versions. The only supported version will be CLooG with the isl backend. 2011-07-21 Tobias Grosser <tobias@grosser.es> * configure: Regenerated. * configure.ac: Require cloog isl 0.17.0 2011-07-21 Tobias Grosser <tobias@grosser.es> * configure: Regenerated. * config/cloog.m4: Do not define CLOOG_ORG 2012-06-29 Steven Bosscher <steven@gcc.gnu.org> * configure.ac: Skip C if explicitly selected. * configure: Regenerate. 2012-06-28 Christophe Lyon <christophe.lyon@st.com> * configure.ac (CFLAGS_FOR_TARGET, CXXFLAGS_FOR_TARGET): Make sure they contain -O2. * configure: Regenerate. 2012-06-20 Jason Merrill <jason@redhat.com> * Makefile.tpl (check-target-libgomp-c++): New. (check-target-libitm-c++): New. * Makefile.def (c++): Add them. * Makefile.in: Regenerate. 2012-05-16 Olivier Hainque <hainque@adacore.com> * Makefile.tpl (gcc-no-fixedincludes): Rename into ... (gcc-install-no-fixedincludes): Now forwarder to local target in gcc/ (install-no-fixedincludes): Adjust accordingly. * Makefile.in: Regenerate. 2012-05-09 Nick Clifton <nickc@redhat.com> Paul Smith <psmith@gnu.org> PR bootstrap/50461 * configure.ac (mpfr-dir): When using in-tree MPFR sources allow for the fact that from release v3.1.0 of MPFR the source files were moved into a src sub-directory. * configure: Regenerate. 2012-05-07 Janne Blomqvist <jb@gcc.gnu.org> * configure.ac: Bump minimum MPFR version to 2.4.0. * configure: Regenerated. 2012-05-01 Richard Henderson <rth@redhat.com> * Makefile.def (libatomic): New target_module. * configure.ac (target_libraries): Add libatomic. (noconfigdirs): Check if libatomic is supported. * Makefile.in, configure: Rebuild. config/ 2012-08-26 Art Haas <ahaas@impactweather.com> * cloog.m4 (CLOOG_INIT_FLAGS): Use = instead of == in test. 2012-07-04 Tristan Gingold <gingold@adacore.com> * isl.m4 (ISL_CHECK_VERSION): Set to yes if cross-compiling. Fix comments. 2012-07-03 Richard Guenther <rguenther@suse.de> * cloog.m4: Remove debugging print. 2012-07-03 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> * isl.m4 (ISL_CHECK_VERSION): Add -lisl to LIBS, not LDFLAGS. 2012-07-02 Richard Guenther <rguenther@suse.de> * isl.m4 (_ISL_CHECK_CT_PROG): Omit main function header/footer. Fix version test. 2012-07-02 Richard Guenther <rguenther@suse.de> Michael Matz <matz@suse.de> Tobias Grosser <tobias@grosser.es> Sebastian Pop <sebpop@gmail.com> * cloog.m4: Set up to work against ISL only. * isl.m4: New file.
* Sync libtool.m4 with GCC treeH.J. Lu2012-08-262-5/+21
| | | | | | | | | | | 2012-05-15 H.J. Lu <hongjiu.lu@intel.com> Merge upstream change * libtool.m4 (_LT_ENABLE_LOCK): Support x32. 2011-11-21 Andreas Tobler <andreast@fgznet.ch> * libtool.m4: Additional FreeBSD 10 fixes.
* daily updateAlan Modra2012-08-261-1/+1
|
* daily updateAlan Modra2012-08-251-1/+1
|
* Skip gas/elf/group0c.d for SolarisH.J. Lu2012-08-242-0/+5
| | | | * gas/elf/group0c.d: Skip Solaris.
* Patch adds support to allow plugins to map selected subset of sections to uniqueSriraman Tallam2012-08-2414-115/+526
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | segments. 2012-08-24 Sriraman Tallam <tmsriram@google.com> * gold.cc (queue_middle_tasks): Call layout again when unique segments for sections is desired. * layout.cc (Layout::Layout): Initialize new members. (Layout::get_output_section_flags): New function. (Layout::choose_output_section): Call get_output_section_flags. (Layout::layout): Make output section for mapping to a unique segment. (Layout::insert_section_segment_map): New function. (Layout::attach_allocated_section_to_segment): Make unique segment for output sections marked so. (Layout::segment_precedes): Check for unique segments when sorting. * layout.h (Layout::Unique_segment_info): New struct. (Layout::Section_segment_map): New typedef. (Layout::insert_section_segment_map): New function. (Layout::get_output_section_flags): New function. (Layout::is_unique_segment_for_sections_specified): New function. (Layout::set_unique_segment_for_sections_specified): New function. (Layout::unique_segment_for_sections_specified_): New member. (Layout::section_segment_map_): New member. * object.cc (Sized_relobj_file<size, big_endian>::do_layout): Rename is_gc_pass_one to is_pass_one. Rename is_gc_pass_two to is_pass_two. Rename is_gc_or_icf to is_two_pass. Check for which pass based on whether symbols data is present. Make it two pass when unique segments for sections is desired. * output.cc (Output_section::Output_section): Initialize new members. * output.h (Output_section::is_unique_segment): New function. (Output_section::set_is_unique_segment): New function. (Output_section::is_unique_segment_): New member. (Output_section::extra_segment_flags): New function. (Output_section::set_extra_segment_flags): New function. (Output_section::extra_segment_flags_): New member. (Output_section::segment_alignment): New function. (Output_section::set_segment_alignment): New function. (Output_section::segment_alignment_): New member. (Output_segment::Output_segment): Initialize is_unique_segment_. (Output_segment::is_unique_segment): New function. (Output_segment::set_is_unique_segment): New function. (Output_segment::is_unique_segment_): New member. * plugin.cc (allow_unique_segment_for_sections): New function. (unique_segment_for_sections): New function. (Plugin::load): Add new functions to transfer vector. * Makefile.am (plugin_final_layout.readelf.stdout): Add readelf output. * Makefile.in: Regenerate. * testsuite/plugin_final_layout.sh: Check if unique segment functionality works. * testsuite/plugin_section_order.c (onload): Check if new interfaces are available. (allow_unique_segment_for_sections): New global. (unique_segment_for_sections): New global. (claim_file_hook): Call allow_unique_segment_for_sections. (all_symbols_read_hook): Call unique_segment_for_sections. 2012-08-24 Sriraman Tallam <tmsriram@google.com> * plugin-api.h (ld_plugin_allow_unique_segment_for_sections): New interface. (ld_plugin_unique_segment_for_sections): New interface. (LDPT_ALLOW_UNIQUE_SEGMENT_FOR_SECTIONS): New enum val. (LDPT_UNIQUE_SEGMENT_FOR_SECTIONS): New enum val. (tv_allow_unique_segment_for_sections): New member. (tv_unique_segment_for_sections): New member.
* Use failif on ld-elf/exclude3 testsH.J. Lu2012-08-244-18/+16
| | | | | | | | | * ld-elf/exclude3a.d: Remove target and use failif. * ld-elf/exclude3b.d: Change target to *-*-linux* *-*-gnu* and use failif * ld-elf/exclude3d.d: Removed.
* Add Solaris/x86-64 support to eh[1-4] testH.J. Lu2012-08-242-0/+9
| | | | * ld-elf/elf.exp: Add Solaris/x86-64 support to eh[1-4] test.
* Properly check x32 supportH.J. Lu2012-08-245-28/+21
| | | | | | | | | * gas/i386/ilp32/ilp32.exp (gas_64_check): Renamed to ... (gas_x32_check): This. Check elf32-x86-64. Remove Solaris check. * gas/i386/ilp32/cfi/ilp32.exp: Likewise. * gas/i386/ilp32/elf/ilp32.exp: Likewise. * gas/i386/ilp32/lns/ilp32.exp: Likewise.
* Skip x32 tests for SolarisH.J. Lu2012-08-245-1/+20
| | | | | | | * gas/i386/ilp32/ilp32.exp: Skip Solaris. * gas/i386/ilp32/cfi/ilp32.exp: Likewise. * gas/i386/ilp32/elf/ilp32.exp: Likewise. * gas/i386/ilp32/lns/ilp32.exp: Likewise.
* * gas/config/tc-arm.c (ARM_ENC_TAB): Add sha1h and sha2op entries.mgretton2012-08-247-2/+92
| | | | | | | | | | (do_sha1h): New function. (do_sha1su1): Likewise. (do_sha256su0): Likewise. (insns): Add 2 operand SHA instructions. * gas/testsuite/gas/arm/armv8-a+crypto.s: Update testcase. * gas/testsuite/gas/arm/armv8-a+crypto.d: Likewise. * opcodes/arm-dis.c (neon_opcodes): Add 2 operand sha instructions.
* * gas/config/tc-arm.c (NEON_ENC_TAB): Add sha3op entry.mgretton2012-08-247-2/+206
| | | | | | | | | | | | | | | (do_crypto_3op_1): New function. (do_sha1c): Likewise. (do_sha1p): Likewise. (do_sha1m): Likewise. (do_sha1su0): Likewise. (do_sha256h): Likewise. (do_sha256h2): Likewise. (do_sha256su1): Likewise. (insns): Add SHA 3 operand instructions. * gas/testsuite/gas/arm/armv8-a+crypto.d: Update testcase. * gas/testsuite/gas/arm/armv8-a+crypto.s: Likewise. * opcodes/arm-dis.c (neon_opcodes): Add SHA 3-operand instructions.
* * gas/config/tc-arm.c (neon_type_mask): Add P64 type.mgretton2012-08-247-6/+46
| | | | | | | | | (type_chk_of_el_type): Handle P64 type. (el_type_of_type_chk): Likewise. (do_neon_vmull): Handle VMULL.P64. * gas/testsuite/gas/arm/armv8-a+crypto.d: Update testcase. * gas/testsuite/gas/arm/armv8-a+crypto.s: Likewise. * opcodes/arm-dis.c (neon_opcodes): Handle VMULL.P64.
* * gas/config/tc-arm.c (NEON_ENC_TAB): Add aes entry.mgretton2012-08-247-5/+173
| | | | | | | | | | | | | | (neon_type_mask): Add N_UNT. (neon_check_type): Don't always decay typed to untyped sizes. (do_crypto_2op_1): New function. (do_aese): Likewise. (do_aesd): Likewise. (do_aesmc.8): Likewise. (do_aesimc.8): Likewise. (insns): Add AES instructions. * gas/testsuite/gas/arm/armv8-a+crypto.d: New testcase. * gas/testsuite/gas/arm/armv8-a+crypto.s: Likewise. * opcodes/arm-dis.c (neon_opcodes): Add support for AES instructions.
* * gas/config/tc-arm.c (el_type_type_check): Add handling for 16-bitmgretton2012-08-248-51/+137
| | | | | | | | | | | | | floating point types. (do_neon_cvttb_2): New function. (do_neon_cvttb_1): Likewise. (do_neon_cvtb): Refactor to use do_neon_cvttb_1. (do_neon_cvtt): Likewise. * gas/testsuite/gas/arm/armv8-a+fp.d: Update testcase. * gas/testsuite/gas/arm/armv8-a+fp.s: Likewise. * gas/testsuite/gas/arm/half-prec-vfpv3.s: Likewise. * opcodes/arm-dis.c (coprocessor_opcodes): Add support for HP/DP conversions.
* * gas/config/tc-arm.c (NEON_ENC_TAB): Add vrint entries.mgretton2012-08-249-2/+266
| | | | | | | | | | | | | | | | | | | (neon_cvt_mode): Add neon_cvt_mode_r. (do_vrint_1): New function. (do_vrint_x): Likewise. (do_vrint_z): Likewise. (do_vrint_r): Likewise. (do_vrint_a): Likewise. (do_vrint_n): Likewise. (do_vrint_p): Likewise. (do_vrint_m): Likewise. (insns): Add VRINT instructions. * gas/testsuite/gas/arm/armv8-a+fpv5.d: Update testcase. * gas/testsuite/gas/arm/armv8-a+fpv5.s: Likewise. * gas/testsuite/gas/arm/armv8-a+simdv3.d: Likewise. * gas/testsuite/gas/arm/armv8-a+simdv3.s: Likewise. * opcodes/arm-dis.c (coprocessor_opcodes): Add VRINT. (neon_opcodes): Likewise.
* * gas/config/tc-arm.c (NEON_ENC_TAB): Add vcvta entry.mgretton2012-08-249-24/+238
| | | | | | | | | | | | | | | | | | | | (neon_cvt_mode): New enumeration. (do_vfp_nsyn_cvt_fpv8): New function. (do_neon_cvt_1): Add support for new conversions. (do_neon_cvtr): Use neon_cvt_mode enumerator. (do_neon_cvt): Likewise. (do_neon_cvta): New function. (do_neon_cvtn): Likewise. (do_neon_cvtp): Likewise. (do_neon_cvtm): Likewise. (insns): Add new VCVT instructions. * gas/testsuite/gas/arm/armv8-a+fp.d: Update testcase. * gas/testsuite/gas/arm/armv8-a+fp.s: Likewise. * gas/testsuite/gas/arm/armv8-a+simd.d: Likewise. * gas/testsuite/gas/arm/armv8-a+simd.s: Likewise. * opcodes/arm-dis.c (coprocessor_opcodes): Add support for new VCVT variants. (neon_opcodes): Likewise.
* * gas/config/tc-arm.c (CVT_FLAVOUR_VAR): New define.mgretton2012-08-242-88/+85
| | | | | | | | | (CVT_VAR): New helper define. (neon_cvt_flavour): New enumeration, function renamed... (get_neon_cvt_flavour): ...to this. (do_vfp_nsyn_cvt): Update to use new neon_cvt_flavour. (do_vfp_nsyn_cvtz): Likewise. (do_neon_cvt_1): Likewise.
* * gas/config/tc-arm.c (NEON_ENC_TAB): Add vmaxnm, vminnm entries.mgretton2012-08-249-3/+196
| | | | | | | | | | | | | (vfp_or_neon_is_neon_bits): Add NEON_CHECK_ARCH8 enumerator. (vfp_or_neon_is_neon): Add check for SIMD for ARMv8. (do_maxnm): New function. (insns): Add vmaxnm, vminnm entries. * gas/testsuite/gas/testsuite/gas/armv8-a+fp.d: Update testcase. * gas/testsuite/gas/testsuite/gas/armv8-a+fp.s: Likewise. * gas/testsuite/gas/testsuite/gas/armv8-a+simd.d: New testcase. * gas/testsuite/gas/testsuite/gas/armv8-a+simd.s: Likewise. * opcodes/arm-dis.c (coprocessor_opcodes): Add VMAXNM/VMINNM. (neon_opcodes): Likewise.
* * gas/config/tc-arm.c (NEON_ENC_TAB): Add entries for VSEL.mgretton2012-08-247-1/+140
| | | | | | | | | | | | (NEON_ENC_FPV8_): New define. (do_vfp_nsyn_fpv8): New function. (do_vsel): Likewise. (insns): Add VSEL instructions. * gas/testsuite/gas/arm/armv8-a+fp.d: New testcase. * gas/testsuite/gas/arm/armv8-a+fp.s: Likewise. * opcodes/arm-dis.c (coprocessor_opcodes): Add VSEL. (print_insn_coprocessor): Add new %<>c bitfield format specifier.
* * gas/config/tc-arm.c (do_rm_rn): New function.mgretton2012-08-249-1/+445
| | | | | | | | | | | | | (do_strlex): Likewise. (do_t_strlex): Likewise. (insns): Add support for LDRA/STRL instructions. * gas/testsuite/gas/arm/armv8-a-bad.l: Update testcase. * gas/testsuite/gas/arm/armv8-a-bad.s: Likewise. * gas/testsuite/gas/arm/armv8-a.d: Likewise. * gas/testsuite/gas/arm/armv8-a.s: Likewise. * opcodes/arm-dis.c (arm_opcodes): Add LDRA/STRL instructions. (thumb32_opcodes): Likewise. (print_arm_insn): Add support for %<>T formatter.
* * gas/config/tc-arm.c (do_t_bkpt_hlt1): New function.mgretton2012-08-249-3/+69
| | | | | | | | | | | | (do_t_hlt): New function. (do_t_bkpt): Use do_t_bkpt_hlt1. (insns): Add HLT. * gas/testsuite/gas/arm/armv8-a-bad.l: Update for HLT. * gas/testsuite/gas/arm/armv8-a-bad.s: Likewise. * gas/testsuite/gas/arm/armv8-a.d: Likewise. * gas/testsuite/gas/arm/armv8-a.s: Likewise. * opcodes/arm-dis.c (arm_opcodes): Add HLT. (thumb_opcodes): Likewise.
* * gas/config/tc-arm.c (insns): Add DCPS instruction.mgretton2012-08-247-0/+26
| | | | | | * gas/testsuite/gas/arm/armv8-a.d: Update. * gas/testsuite/gas/arm/armv8-a.s: Likewise. * opcodes/arm-dis.c (thumb32_opcodes): Add DCPS instruction.
* * gas/config/tc-arm.c (T16_32_TAB): Add _sevl.mgretton2012-08-247-1/+61
| | | | | | | | | (insns): Add SEVL. * gas/testsuite/gas/arm/armv8-a.s: New testcase. * gas/testsuite/gas/arm/armv8-a.d: Likewise. * opcodes/arm-dis.c (arm_opcodes): Add SEVL. (thumb_opcodes): Likewise. (thumb32_opcodes): Likewise.
* * gas/config/tc-arm.c (asm_barrier_opt): Add arch field.mgretton2012-08-248-41/+169
| | | | | | | | | | | | | | (mark_feature_used): New function. (parse_barrier): Check specified option is valid for the specified architecture. (UL_BARRIER): New macro. (barrier_opt_names): Update for new barrier options. * gas/testsuite/gas/arm/armv8-a-barrier.s: New testcase. * gas/testsuite/gas/arm/armv8-a-barrier-arm.d: Likewise. * gas/testsuite/gas/arm/armv8-a-barrier-thumb.d: Likewise. * opcodes/arm-dis.c (data_barrier_option): New function. (print_insn_arm): Use data_barrier_option. (print_insn_thumb32): Use data_barrier_option.
* * opcodes/arm-dis.c (COND_UNCOND): New constant.mgretton2012-08-242-4/+30
| | | | | (print_insn_coprocessor): Add support for %u format specifier. (print_insn_neon): Likewise.
* * gas/config/tc-arm.c (do_setend): Warn on deprecated SETEND.mgretton2012-08-245-0/+26
| | | | | | (do_t_setend): Likewise. * gas/testsuite/gas/arm/armv8-a-bad.l: Update * gas/testsuite/gas/arm/armv8-a-bad.s: Likewise.
* * gas/config/tc-arm.c (do_t_it): Fully initialise now_it.mgretton2012-08-2414-15/+195
| | | | | | | | | | | | | | | | | | | | (new_automatic_it_block): Likewise. (handle_it_block): Record whether current instruction is conditionally executed. * gas/config/tc-arm.c (depr_insn_mask): New structure. (depr_it_insns): New variable. (it_fsm_post_encode): Warn on deprecated uses. * gas/config/tc-arm.h (current_it): Add new fields. * gas/testsuite/gas/arm/armv8-a-it-bad.d: New testcase. * gas/testsuite/gas/arm/armv8-a-it-bad.l: Likewise. * gas/testsuite/gas/arm/armv8-a-it-bad.s: Likewise. * gas/testsuite/gas/arm/ldr-t-bad.s: Update testcase. * gas/testsuite/gas/arm/ldr-t.d: Likewise. * gas/testsuite/gas/arm/ldr-t.s: Likewise. * gas/testsuite/gas/arm/neon-cond-bad-inc.s: Likewise. * gas/testsuite/gas/arm/sp-pc-validations-bad-t: Likewise. * gas/testsuite/gas/arm/vfp-fma-inc.s: Likewise. * gas/testsuite/gas/arm/vfp-neon-syntax-inc.s: Likewise.
* * gas/config/tc-arm.c (deprecated_coproc_regs_s): New structure.mgretton2012-08-245-0/+83
| | | | | | | | (deprecated_coproc_regs): New variable. (deprecated_coproc_reg_count): Likewise. (do_co_reg): Error on obsolete & warn on deprecated registers. * gas/testsuite/gas/arm/armv8-a-bad.l: Update testcase. * gas/testsuite/gas/arm/armv8-a-bad.s: Likewise.
* * gas/config/tc-arm.c (check_obsolete): New function.mgretton2012-08-2410-7/+60
| | | | | | | | | | (do_rd_rm_rn): Check swp{b} for obsoletion. * gas/testsuite/gas/arm/armv8-a-bad.d: New testcase. * gas/testsuite/gas/arm/armv8-a-bad.l: Likewise. * gas/testsuite/gas/arm/armv8-a-bad.s: Likewise. * gas/testsuite/gas/arm/depr-swp.l: Update for change in expected output. * gas/testsuite/gas/arm/depr-swp.s: Add additional test. * include/opcode/arm.h (ARM_CPU_IS_ANY): New define.
* * bfd/elf32-arm.c (v8): New array.mgretton2012-08-2430-37/+303
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (tag_cpu_arch_combine): Add support for ARMv8 attributes. (elf32_arm_merge_eabi_attributes): Likewise. (VFP_VERSION_COUNT): New define. * binutils/readelf.c (arm_attr_tag_CPU_arch): Update for ARMv8. (arm_attr_tag_FP_arch): Likewise. (arm_attr_tag_Advanced_SIMD_arch): Likewise. * gas/config/tc-arm.h (arm_ext_v8): New variable. (fpu_vfp_ext_armv8): Likewise. (fpu_neon_ext_armv8): Likewise. (fpu_crypto_ext_armv8): Likewise. (arm_archs): Add armv8-a. (arm_extensions): Add crypto, fp, and simd. (arm_fpus): Add fp-armv8, neon-fp-armv8, crypto-neon-fp-armv8. (cpu_arch_ver): Add support for ARMv8. (aeabi_set_public_sttributes): Likewise. * gas/doc/c-arm.texi (ARM Options): Document new architecture and extension options for ARMv8. * gas/testsuite/gas/arm/attr-march-all.d: Update for change in expected output. * gas/testsuite/gas/arm/attr-mfpu-vfpv4-d16.d: Likewise. * gas/testsuite/gas/arm/attr-mfpu-vfpv4.d: Likewise. * gas/testsuite/gas/arm/attr-march-armv8-a+crypto.d: New testcase. * gas/testsuite/gas/arm/attr-march-armv8-a+fp.d: Likewise. * gas/testsuite/gas/arm/attr-march-armv8-a+simd.d: Likewise. * gas/testsuite/gas/arm/attr-march-armv8-a.d: Likewise. * include/elf/arm.h (TAG_CPU_ARCH_V8): New define. (MAX_TAG_CPU_ARCH): Update. * include/opcode/arm.h (ARM_EXT_V8): New define. (FPU_VFP_EXT_ARMV8): Likewise. (FPU_NEON_EXT_ARMV8): Likewise. (FPU_CRYPTO_EXT_ARMV8): Likewise. (ARM_AEXT_V8A): Likewise. (FPU_VFP_ARMV8): Likwise. (FPU_NEON_ARMV8): Likewise. (FPU_CRYPTO_ARMV8): Likewise. (FPU_ARCH_VFP_ARMV8): Likewise. (FPU_ARCH_NEON_VFP_ARMV8): Likewise. (FPU_ARCH_CRYPTO_NEON_VFP_ARMV8): Likewise. (ARM_ARCH_V8A): Likwise. (ARM_ARCH_V8A_FP): Likewise. (ARM_ARCH_V8A_SIMD): Likewise. (ARM_ARCH_V8A_CRYPTO): Likewise. * ld/testsuite/ld-arm/arm-elf.exp: Add new testcases. * ld/testsuite/ld-arm/attr-merge-vfp-3.d: Update for change in expected output. * ld/testsuite/ld-arm/attr-merge-vfp-3r.d: Likewise. * ld/testsuite/ld-arm/attr-merge-vfp-4.d: Likewise. * ld/testsuite/ld-arm/attr-merge-vfp-4r.d: Likewise. * ld/testsuite/ld-arm/attr-merge-vfp-5.d: Likewise. * ld/testsuite/ld-arm/attr-merge-vfp-5r.d: Likewise. * ld/testsuite/ld-arm/attr-merge-vfp-7.d: New testcase. * ld/testsuite/ld-arm/attr-merge-vfp-7r.d: Likewise. * ld/testsuite/ld-arm/attr-merge-vfp-armv8-hard.s: Likewise. * ld/testsuite/ld-arm/attr-merge-vfp-armv8.s: Likewise.
* daily updateAlan Modra2012-08-241-1/+1
|
* daily updateAlan Modra2012-08-231-1/+1
|