1. 10 Mar, 2017 3 commits
    • freebsd-unwind.h: New file. · 4ccfdb28
      2017-03-10  John Marino  <gnugcc@marino.st>
      
          * config/aarch64/freebsd-unwind.h: New file.
          * config.host: Add aarch64-*-freebsd unwinder.
      
      From-SVN: r246052
      John Marino committed
    • Build crt*vr.S with AltiVec enabled · 4144e4e3
      These files won't build on targets that do not have AltiVec enabled,
      breaking the build, unless we tell GAS that Altivec insns are fine.
      The alternative is to not build these files in that case, which is much
      more complicated.
      
      
      libgcc/
      	* config/rs6000/crtrestvr.s: Use .machine altivec.
      	* config/rs6000/crtsavevr.s: Ditto.
      
      From-SVN: r246051
      Segher Boessenkool committed
    • rs6000: float128 on BE and 32-bit · 7502c597
      This fixes float128 on BE and on 32-bit.
      
      The configure tests need to use -mabi=altivec for 32-bit, since it is
      not the default there.  That also enables the "vector" keyword, used by
      the tests.  To do this it temporarily adds a few flags to the CFLAGS
      variable.
      
      It also fixes a syntax error in the libgcc_cv_powerpc_float128_hw test
      (the function name was missing in the function declaration).
      
      Regenerating config.in (via autoreconf) removed the duplicate definition
      of HAVE_SOLARIS_CRTS.
      
      Finally, this adds a "-mfloat128-hardware requires -m64" test to
      rs6000.c: all the current patterns need 64-bit registers.  Maybe we'll
      want to add float128 hardware support to 32-bit some day, but certainly
      not today.
      
      
      	* config/rs6000/rs6000.c (rs6000_option_override_internal): Disallow
      	-mfloat128-hardware without -m64.
      
      libgcc/
      	* configure.ac (test for libgcc_cv_powerpc_float128): Temporarily
      	modify CFLAGS.  Add -mabi=altivec -mvsx -mfloat128.
      	(test for libgcc_cv_powerpc_float128_hw): Add -mpower9-vector and
      	-mfloat128-hardware to the CFLAGS.  Fix syntax error in the C snippet.
      	* configure: Regenerate.
      	* config.in: Regenerate.
      
      From-SVN: r246043
      Segher Boessenkool committed
  2. 02 Mar, 2017 2 commits
  3. 16 Feb, 2017 1 commit
  4. 06 Feb, 2017 1 commit
    • RISC-V Port: libgcc · 0bd99911
      libgcc/ChangeLog:
      
      2017-02-06  Palmer Dabbelt <palmer@dabbelt.com>
      
              * config.host: Add RISC-V tuples.
              * config/riscv/atomic.c: New file.
              * config/riscv/crti.S: Likewise.
              * config/riscv/crtn.S: Likewise.
              * config/riscv/div.S: Likewise.
              * config/riscv/linux-unwind.h: Likewise.
              * config/riscv/muldi3.S: Likewise.
              * config/riscv/multi3.S: Likewise.
              * config/riscv/save-restore.S: Likewise.
              * config/riscv/sfp-machine.h: Likewise.
              * config/riscv/t-elf: Likewise.
              * config/riscv/t-elf32: Likewise.
              * config/riscv/t-elf64: Likewise.
              * config/riscv/t-softfp32: Likewise.
              * config/riscv/t-softfp64: Likewise.
      
      From-SVN: r245226
      Palmer Dabbelt committed
  5. 24 Jan, 2017 1 commit
  6. 21 Jan, 2017 1 commit
  7. 20 Jan, 2017 4 commits
    • [AArch64] Only build & test pauth code for LP64 · a876231c
      gcc/
      	* config/aarch64/aarch64-builtins.c (aarch64_init_builtins): Register
      	register pauth builtins for LP64 only.
      
      libgcc/
      	* config/aarch64/aarch64-unwind.h: Empty this file on ILP32.
      	* unwind-dw2.c (execute_cfa_program):  Only multiplexing
      	DW_CFA_GNU_window_save for AArch64 and LP64.
      
      gcc/testsuite/
      	* testsuite/gcc.target/aarch64/return_address_sign_1.c: Enable on LP64
      	only.
      	* testsuite/gcc.target/aarch64/return_address_sign_2.c: Likewise.
      	* testsuite/gcc.target/aarch64/return_address_sign_3.c: Likewise.
      
      From-SVN: r244732
      Jiong Wang committed
    • [AArch64] Always include linux-unwind.h · aa348be2
      libgcc/
              * config/aarch64/linux-unwind.h: Always include aarch64-unwind.h.
      
      From-SVN: r244710
      Jiong Wang committed
    • [AArch64, libgcc] Add missing file, forget "svn add" · f2f6dece
      From-SVN: r244674
      Jiong Wang committed
    • [AArch64][4/4] libgcc unwinder support for return address signing · 5636faf2
      libgcc/
      	* config/aarch64/aarch64-unwind.h: New file.
      	(DWARF_REGNUM_AARCH64_RA_STATE): Define.
      	(MD_POST_EXTRACT_ROOT_ADDR): New target marcro and define it on AArch64.
      	(MD_POST_EXTRACT_FRAME_ADDR): Likewise.
      	(MD_POST_FROB_EH_HANDLER_ADDR): Likewise.
      	(MD_FROB_UPDATE_CONTEXT): Define it on AArch64.
      	(aarch64_post_extract_frame_addr): New function.
      	(aarch64_post_frob_eh_handler_addr): New function.
      	(aarch64_frob_update_context): New function.
      	* config/aarch64/linux-unwind.h: Include aarch64-unwind.h
      	* config.host (aarch64*-*-elf, aarch64*-*-rtems*,
      	aarch64*-*-freebsd*):
      	Initialize md_unwind_header to include aarch64-unwind.h.
      	* unwind-dw2.c (struct _Unwind_Context): Define "RA_A_SIGNED_BIT".
      	(execute_cfa_program): Multiplex DW_CFA_GNU_window_save for
      	__aarch64__.
      	(uw_update_context): Honor MD_POST_EXTRACT_FRAME_ADDR.
      	(uw_init_context_1): Honor MD_POST_EXTRACT_ROOT_ADDR.
      	(uw_frob_return_addr): New function.
      	(uw_install_context): Use uw_frob_return_addr.
      
      From-SVN: r244673
      Jiong Wang committed
  8. 18 Jan, 2017 1 commit
  9. 17 Jan, 2017 1 commit
    • re PR other/79046 (g++ -print-file-name=plugin uses full version number in path) · 3c36aa6b
      	PR other/79046
      	* configure: Regenerated.
      config/
      	* acx.m4 (GCC_BASE_VER): New m4 function.
      	(ACX_TOOL_DIRS): Require GCC_BASE_VER, for
      	--with-gcc-major-version-only use just major number from BASE-VER.
      gcc/
      	* configure.ac: Add GCC_BASE_VER.
      	* Makefile.in (version): Use @get_gcc_base_ver@ instead of cat to get
      	version from BASE-VER file.
      	(CFLAGS-gcc.o): Add -DBASEVER=$(BASEVER_s).
      	(gcc.o): Depend on $(BASEVER).
      	* common.opt (dumpfullversion): New option.
      	* gcc.c (driver_handle_option): Handle OPT_dumpfullversion.
      	* doc/invoke.texi: Document -dumpfullversion.
      	* doc/install.texi: Document --with-gcc-major-version-only.
      	* configure: Regenerated.
      libatomic/
      	* configure.ac: Add GCC_BASE_VER.
      	* Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to
      	get version from BASE-VER file.
      	* testsuite/Makefile.in: Regenerated.
      	* configure: Regenerated.
      	* Makefile.in: Regenerated.
      libgomp/
      	* configure.ac: Add GCC_BASE_VER.
      	* Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to
      	get version from BASE-VER file.
      	* testsuite/Makefile.in: Regenerated.
      	* configure: Regenerated.
      	* Makefile.in: Regenerated.
      libgcc/
      	* configure.ac: Add GCC_BASE_VER.
      	* Makefile.in (version): Use @get_gcc_base_ver@ instead of cat to get
      	version from BASE-VER file.
      	* configure: Regenerated.
      libssp/
      	* configure.ac: Add GCC_BASE_VER.
      	* Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to
      	get version from BASE-VER file.
      	* configure: Regenerated.
      	* Makefile.in: Regenerated.
      liboffloadmic/
      	* configure.ac: Add GCC_BASE_VER.
      	* Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to
      	get version from BASE-VER file.
      	* aclocal.m4: Include ../config/acx.m4.
      	* configure: Regenerated.
      	* Makefile.in: Regenerated.
      libquadmath/
      	* configure.ac: Add GCC_BASE_VER.
      	* Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to
      	get version from BASE-VER file.
      	* configure: Regenerated.
      	* Makefile.in: Regenerated.
      libmpx/
      	* configure.ac: Add GCC_BASE_VER.
      	* Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to
      	get version from BASE-VER file.
      	* configure: Regenerated.
      	* Makefile.in: Regenerated.
      libada/
      	* configure.ac: Add GCC_BASE_VER.
      	* Makefile.in (version): Use @get_gcc_base_ver@ instead of cat to get
      	version from BASE-VER file.
      	* configure: Regenerated.
      lto-plugin/
      	* configure.ac: Add GCC_BASE_VER.
      	* Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to
      	get version from BASE-VER file.
      	* configure: Regenerated.
      	* Makefile.in: Regenerated.
      libitm/
      	* configure.ac: Add GCC_BASE_VER.
      	* Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to
      	get version from BASE-VER file.
      	* testsuite/Makefile.in: Regenerated.
      	* configure: Regenerated.
      	* Makefile.in: Regenerated.
      fixincludes/
      	* configure.ac: Add GCC_BASE_VER.
      	* Makefile.in (gcc_version): Use @get_gcc_base_ver@ instead of cat to
      	get version from BASE-VER file.
      	* configure: Regenerated.
      libcilkrts/
      	* configure.ac: Add GCC_BASE_VER.
      	* Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to
      	get version from BASE-VER file.
      	* aclocal.m4: Include ../config/acx.m4.
      	* configure: Regenerated.
      	* Makefile.in: Regenerated.
      libcc1/
      	* configure.ac: Add GCC_BASE_VER.  For --with-gcc-major-version-only
      	use just major number from BASE-VER.
      	* configure: Regenerated.
      	* Makefile.in: Regenerated.
      libobjc/
      	* configure.ac: Add GCC_BASE_VER.
      	* Makefile.in (gcc_version): Use @get_gcc_base_ver@ instead of cat to
      	get version from BASE-VER file.
      	* configure: Regenerated.
      libstdc++-v3/
      	* configure.ac: Add GCC_BASE_VER.
      	* fragment.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to
      	get version from BASE-VER file.
      	* po/Makefile.in: Regenerated.
      	* libsupc++/Makefile.in: Regenerated.
      	* testsuite/Makefile.in: Regenerated.
      	* src/Makefile.in: Regenerated.
      	* configure: Regenerated.
      	* Makefile.in: Regenerated.
      	* include/Makefile.in: Regenerated.
      	* doc/Makefile.in: Regenerated.
      	* python/Makefile.in: Regenerated.
      	* src/c++11/Makefile.in: Regenerated.
      	* src/c++98/Makefile.in: Regenerated.
      	* src/filesystem/Makefile.in: Regenerated.
      libvtv/
      	* configure.ac: Add GCC_BASE_VER.
      	* Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to
      	get version from BASE-VER file.
      	* testsuite/Makefile.in: Regenerated.
      	* configure: Regenerated.
      	* Makefile.in: Regenerated.
      libsanitizer/
      	* configure.ac: Add GCC_BASE_VER.
      	* Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to
      	get version from BASE-VER file.
      	* libbacktrace/Makefile.in: Regenerated.
      	* interception/Makefile.in: Regenerated.
      	* asan/Makefile.in: Regenerated.
      	* ubsan/Makefile.in: Regenerated.
      	* configure: Regenerated.
      	* sanitizer_common/Makefile.in: Regenerated.
      	* lsan/Makefile.in: Regenerated.
      	* Makefile.in: Regenerated.
      	* tsan/Makefile.in: Regenerated.
      libgfortran/
      	* configure.ac: Add GCC_BASE_VER.
      	* Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to
      	get version from BASE-VER file.
      	* configure: Regenerated.
      	* Makefile.in: Regenerated.
      
      From-SVN: r244521
      Jakub Jelinek committed
  10. 13 Jan, 2017 1 commit
  11. 12 Jan, 2017 1 commit
  12. 10 Jan, 2017 1 commit
    • Enable AVX-512 VPOPCNTD/VPOPCNTQ instructions. · 79fc8ffe
      gcc/
      	* common/config/i386/i386-common.c (OPTION_MASK_ISA_AVX512VPOPCNTDQ_SET,
      	OPTION_MASK_ISA_AVX512VPOPCNTDQ_UNSET): New.
      	* config.gcc: Add avx512vpopcntdqintrin.h.
      	* config/i386/avx512vpopcntdqintrin.h: New.
      	* config/i386/cpuid.h (bit_AVX512VPOPCNTDQ): New.
      	* config/i386/i386-builtin-types.def: Add new types.
      	* config/i386/i386-builtin.def (__builtin_ia32_vpopcountd_v16si,
      	__builtin_ia32_vpopcountd_v16si_mask, __builtin_ia32_vpopcountq_v8di,
      	__builtin_ia32_vpopcountq_v8di_mask): New.
      	* config/i386/i386-c.c (ix86_target_macros_internal): Define
      	__AVX512VPOPCNTDQ__.
      	* config/i386/i386.c (ix86_target_string): Add -mavx512vpopcntdq.
      	(PTA_AVX512VPOPCNTDQ): Define.
      	* config/i386/i386.h (TARGET_AVX512VPOPCNTDQ,
      	TARGET_AVX512VPOPCNTDQ_P): Define.
      	* config/i386/i386.opt: Add mavx512vpopcntdq.
      	* config/i386/immintrin.h: Include avx512vpopcntdqintrin.h.
      	* config/i386/sse.md (define_insn "vpopcount<mode><mask_name>"): New.
      
      libgcc/
      	* config/i386/cpuinfo.h (processor_features): Add
      	FEATURE_AVX512VPOPCNTDQ.
      	* config/i386/cpuinfo.c (get_available_features): Habdle new
      	feature.
      
      gcc/testsuite/
      	* g++.dg/other/i386-2.C: Add -mavx512vpopcntdq.
      	* g++.dg/other/i386-3.C: Ditto.
      	* gcc.target/i386/sse-12.c: Ditto.
      	* gcc.target/i386/sse-13.c: Ditto.
      	* gcc.target/i386/sse-22.c: Ditto.
      	* gcc.target/i386/sse-23.c: Ditto.
      	* gcc.target/i386/builtin_target.c: Handle new option.
      	* gcc.target/i386/funcspec-56.inc: Test new attributes.
      	* gcc.target/i386/avx512vpopcntdq-vpopcntd.c: New test.
      	* gcc.target/i386/avx512vpopcntdq-vpopcntq.c: Ditto.
      
      From-SVN: r244263
      Andrew Senkevich committed
  13. 04 Jan, 2017 2 commits
    • Make MIPS soft-fp preserve NaN payloads for NAN2008. · fec5f4e0
      The MIPS sfp-machine.h has an _FP_CHOOSENAN implementation which
      emulates hardware semantics of not preserving signaling NaN payloads
      for an operation with two NaN arguments (although that doesn't suffice
      to avoid sNaN payload preservation in any case with just one NaN
      argument).
      
      However, those are only hardware semantics in the legacy NaN case; in
      the NAN2008 case, the architecture documentation says hardware
      preserves payloads in such cases.  Furthermore, this implementation
      assumes legacy NaN semantics, so in the NAN2008 case the
      implementation actually has the effect of preserving sNaN payloads but
      not preserving qNaN payloads, when both should be preserved.
      
      This patch fixes the code just to copy from the first argument (at the
      level of libgcc, it's not meaningful which argument is the first and
      which is the second).
      
      Tested for mips64-linux-gnu (soft float, NAN2008) with the glibc math/
      tests.
      
      	* config/mips/sfp-machine.h (_FP_CHOOSENAN): Always preserve NaN
      	payload if [__mips_nan2008].
      
      From-SVN: r244059
      Joseph Myers committed
    • Update configure deps, remove stray \xA0 in picflag.m4, regenerate · 8f56cb51
      Also fix a stray changelog entry.  Some of the regen here is due to
      previous changes not being regenerated properly, in part due to the
      missing configure dependencies.
      
      	* configure: Regenerate.
      config/
      	* picflag.m4: Remove stray \xA0 in comment.
      gcc/
      	* Makefile.in (aclocal_deps): Update and order as per aclocal.m4.
      	* configure: Regenerate.
      	* config.in: Regenerate.
      libada/
      	* Makefile.in (configure_deps): Update and order as per
      	configure.ac sinclude.
      	* configure: Regenerate.
      libgcc/
      	* Makefile.in (configure_deps): Update.
      	* configure: Regenerate.
      libiberty/
      	* Makefile.in (configure_deps): Update.
      	* configure: Regenerate.
      libitm/
      	* Makefile.in: Regenerate.
      	* testsuite/Makefile.in: Regenerate.
      
      From-SVN: r244049
      Alan Modra committed
  14. 01 Jan, 2017 1 commit
  15. 19 Dec, 2016 1 commit
  16. 17 Dec, 2016 1 commit
  17. 16 Dec, 2016 1 commit
    • [ARC] Rework code for profiling. · e04ea1da
      gcc/
      2016-12-16  Claudiu Zissulescu  <claziss@synopsys.com>
      
      	* config/arc/arc.h (LINK_SPEC): Tidy up.
      	(ENDFILE_SPEC): Likewise.
      	(LIB_SPEC): Likewise.
      	(STARTFILE_SPEC): Include gcrt0 when profiling.
      	(FUNCTION_PROFILER): Use __mcount.
      	* config/arc/arc.opt (mucb-mcount): Remove.
      	* doc/invoke.texi (ARC): Remove mucb-mcount doc.
      	* arc/arc-protos.h (arc_profile_call): Remove.
      	* config/arc/arc.c (write_profile_sections): Likewise.
      	(arc_profile_call): Likewise.
      	(unspec_prof_hash): Likewise.
      	(unspec_prof_htab_eq): Likewise.
      	(arc_legitimate_constant_p): Remove UNSPEC_PROF.
      	(arc_reorg): Remove call to write_profile_sections.
      	* config/arc/arc.md (call): Remove call to arc_profile_call.
      	(call_value): Likewise.
      	(sibcall): Likewise.
      	(sibcall_value): Likewise.
      	(define_constants): Remove UNSPEC_PROF.
      
      libgcc/
      	* config.host (arc*-*-linux-uclibc*): Remove libgmon, crtg, and
      	crtgend.
      	(arc*-*-elf*): Likewise.
      	* config/arc/t-arc: Remove old gmon lib targets.
      	* config/arc/crtg.S: Remove.
      	* config/arc/crtgend.S: Likewise.
      	* config/arc/gmon/atomic.h: Likewise.
      	* config/arc/gmon/auxreg.h: Likewise.
      	* config/arc/gmon/dcache_linesz.S: Likewise.
      	* config/arc/gmon/gmon.c: Likewise.
      	* config/arc/gmon/machine-gmon.h: Likewise.
      	* config/arc/gmon/mcount.c: Likewise.
      	* config/arc/gmon/prof-freq-stub.S: Likewise.
      	* config/arc/gmon/prof-freq.c: Likewise.
      	* config/arc/gmon/profil.S: Likewise.
      	* config/arc/gmon/sys/gmon.h: Likewise.
      	* config/arc/gmon/sys/gmon_out.h: Likewise.
      	* config/arc/t-arc-newlib: Likewise.
      	* config/arc/t-arc700-uClibc: Renamed to t-arc-uClibc.
      
      From-SVN: r243742
      Claudiu Zissulescu committed
  18. 12 Dec, 2016 2 commits
  19. 10 Dec, 2016 1 commit
  20. 05 Dec, 2016 1 commit
    • [ARC] Fix PIE. · 62440b4f
      gcc/
      2016-12-05  Cupertino Miranda  <cmiranda@synopsys.com>
      
      	* config/arc/arc.h (STARTFILE_SPEC): Use default linux specs.
      	(ENDFILE_SPEC): Likewise.
      
      libgcc/
      2016-12-05  Cupertino Miranda  <cmiranda@synopsys.com>
      
      	* config.host (arc*-*-linux-uclibc*): Use default extra
      	objects. Include linux-android header.
      	* config/arc/crti.S (_init): Declare symbol as function.
      	(_fini): Likewise.
      
      From-SVN: r243245
      Cupertino Miranda committed
  21. 03 Dec, 2016 1 commit
    • re PR libfortran/78379 (Processor-specific versions for matmul) · 31cfd832
      2016-12-03  Thomas Koenig  <tkoenig@gcc.gnu.org>
      
              PR fortran/78379
              * config/i386/cpuinfo.c:  Move denums for processor vendors,
              processor type, processor subtypes and declaration of
              struct __processor_model into
              * config/i386/cpuinfo.h:  New header file.
              * Makefile.am:  Add dependence of m4/matmul_internal_m4 to
              mamtul files..
              * Makefile.in:  Regenerated.
              * acinclude.m4:  Check for AVX, AVX2 and AVX512F.
              * config.h.in:  Add HAVE_AVX, HAVE_AVX2 and HAVE_AVX512F.
              * configure:  Regenerated.
              * configure.ac:  Use checks for AVX, AVX2 and AVX_512F.
              * m4/matmul_internal.m4:  New file. working part of matmul.m4.
              * m4/matmul.m4:  Implement architecture-specific switching
              for AVX, AVX2 and AVX512F by including matmul_internal.m4
              multiple times.
              * generated/matmul_c10.c: Regenerated.
              * generated/matmul_c16.c: Regenerated.
              * generated/matmul_c4.c: Regenerated.
              * generated/matmul_c8.c: Regenerated.
              * generated/matmul_i1.c: Regenerated.
              * generated/matmul_i16.c: Regenerated.
              * generated/matmul_i2.c: Regenerated.
              * generated/matmul_i4.c: Regenerated.
              * generated/matmul_i8.c: Regenerated.
              * generated/matmul_r10.c: Regenerated.
              * generated/matmul_r16.c: Regenerated.
              * generated/matmul_r4.c: Regenerated.
              * generated/matmul_r8.c: Regenerated.
      
      From-SVN: r243219
      Thomas Koenig committed
  22. 02 Dec, 2016 2 commits
    • ARMv8-M Security Extension's cmse_nonsecure_call: use __gnu_cmse_nonsecure_call · c92e08e3
          gcc/ChangeLog:
          2016-12-02  Andre Vieira  <andre.simoesdiasvieira@arm.com>
      		Thomas Preud'homme  <thomas.preudhomme@arm.com>
      
      	* config/arm/arm.c (detect_cmse_nonsecure_call): New.
      	(cmse_nonsecure_call_clear_caller_saved): New.
      	(arm_reorg): Use cmse_nonsecure_call_clear_caller_saved.
      	(arm_function_ok_for_sibcall): Disable sibcalls for
      	cmse_nonsecure_call.
      	* config/arm/arm-protos.h (detect_cmse_nonsecure_call): New.
      	* config/arm/arm.md (call): Handle cmse_nonsecure_entry.
      	(call_value): Likewise.
      	(nonsecure_call_internal): New.
      	(nonsecure_call_value_internal): New.
      	* config/arm/thumb1.md (*nonsecure_call_reg_thumb1_v5): New.
      	(*nonsecure_call_value_reg_thumb1_v5): New.
      	* config/arm/thumb2.md (*nonsecure_call_reg_thumb2): New.
      	(*nonsecure_call_value_reg_thumb2): New.
      	* config/arm/unspecs.md (UNSPEC_NONSECURE_MEM): New.
      
          libgcc/ChangeLog:
          2016-12-02  Andre Vieira  <andre.simoesdiasvieira@arm.com>
      	       Thomas Preud'homme  <thomas.preudhomme@arm.com>
      
      	* config/arm/cmse_nonsecure_call.S: New.
      	* config/arm/t-arm: Compile cmse_nonsecure_call.S
      
          gcc/testsuite/ChangeLog:
          2016-12-02  Andre Vieira  <andre.simoesdiasvieira@arm.com>
      		Thomas Preud'homme  <thomas.preudhomme@arm.com>
      
      	* gcc.target/arm/cmse/cmse.exp: Run tests in mainline dir.
      	* gcc.target/arm/cmse/cmse-9.c: Added some extra tests.
      	* gcc.target/arm/cmse/cmse-14.c: New.
      	* gcc.target/arm/cmse/baseline/bitfield-4.c: New.
      	* gcc.target/arm/cmse/baseline/bitfield-5.c: New.
      	* gcc.target/arm/cmse/baseline/bitfield-6.c: New.
      	* gcc.target/arm/cmse/baseline/bitfield-7.c: New.
      	* gcc.target/arm/cmse/baseline/bitfield-8.c: New.
      	* gcc.target/arm/cmse/baseline/bitfield-9.c: New.
      	* gcc.target/arm/cmse/baseline/bitfield-and-union-1.c: New.
      	* gcc.target/arm/cmse/baseline/cmse-11.c: New.
      	* gcc.target/arm/cmse/baseline/cmse-13.c: New.
      	* gcc.target/arm/cmse/baseline/cmse-6.c: New.
      	* gcc.target/arm/cmse/baseline/union-1.c: New.
      	* gcc.target/arm/cmse/baseline/union-2.c: New.
      	* gcc.target/arm/cmse/mainline/bitfield-4.c: New.
      	* gcc.target/arm/cmse/mainline/bitfield-5.c: New.
      	* gcc.target/arm/cmse/mainline/bitfield-6.c: New.
      	* gcc.target/arm/cmse/mainline/bitfield-7.c: New.
      	* gcc.target/arm/cmse/mainline/bitfield-8.c: New.
      	* gcc.target/arm/cmse/mainline/bitfield-9.c: New.
      	* gcc.target/arm/cmse/mainline/bitfield-and-union-1.c: New.
      	* gcc.target/arm/cmse/mainline/union-1.c: New.
      	* gcc.target/arm/cmse/mainline/union-2.c: New.
      	* gcc.target/arm/cmse/mainline/hard-sp/cmse-13.c: New.
      	* gcc.target/arm/cmse/mainline/hard-sp/cmse-7.c: New.
      	* gcc.target/arm/cmse/mainline/hard-sp/cmse-8.c: New.
      	* gcc.target/arm/cmse/mainline/hard/cmse-13.c: New.
      	* gcc.target/arm/cmse/mainline/hard/cmse-7.c: New.
      	* gcc.target/arm/cmse/mainline/hard/cmse-8.c: New.
      	* gcc.target/arm/cmse/mainline/soft/cmse-13.c: New.
      	* gcc.target/arm/cmse/mainline/soft/cmse-7.c: New.
      	* gcc.target/arm/cmse/mainline/soft/cmse-8.c: New.
      	* gcc.target/arm/cmse/mainline/softfp-sp/cmse-7.c: New.
      	* gcc.target/arm/cmse/mainline/softfp-sp/cmse-8.c: New.
      	* gcc.target/arm/cmse/mainline/softfp/cmse-13.c: New.
      	* gcc.target/arm/cmse/mainline/softfp/cmse-7.c: New.
      	* gcc.target/arm/cmse/mainline/softfp/cmse-8.c: New.
      
      
      Co-Authored-By: Thomas Preud'homme <thomas.preudhomme@arm.com>
      
      From-SVN: r243192
      Andre Vieira committed
    • Add support for ARMv8-M's Secure Extensions flag and intrinsics · de7b5723
          gcc/ChangeLog:
          2016-12-02  Andre Vieira  <andre.simoesdiasvieira@arm.com>
      	        Thomas Preud'homme  <thomas.preudhomme@arm.com>
      
      	* config.gcc (extra_headers): Added arm_cmse.h.
      	* config/arm/arm-arches.def (ARM_ARCH):
      	(armv8-m): Add FL2_CMSE.
      	(armv8-m.main): Likewise.
      	(armv8-m.main+dsp): Likewise.
      	* config/arm/arm-c.c
      	(arm_cpu_builtins): Added __ARM_FEATURE_CMSE macro.
      	* config/arm/arm-flags.h: Define FL2_CMSE.
      	* config/arm.c (arm_arch_cmse): New.
      	(arm_option_override): New error for unsupported cmse target.
      	* config/arm/arm.h (arm_arch_cmse): New.
      	* config/arm/arm.opt (mcmse): New.
      	* config/arm/arm_cmse.h: New file.
      	* doc/invoke.texi (ARM Options): Add -mcmse.
      	* doc/sourcebuild.texi (arm_cmse_ok): Add new effective target.
      	* doc/extend.texi: Add ARMv8-M Security Extensions entry.
      
          gcc/testsuite/ChangeLog:
          2016-12-02  Andre Vieira  <andre.simoesdiasvieira@arm.com>
      	        Thomas Preud'homme  <thomas.preudhomme@arm.com>
      
      	* gcc.target/arm/cmse/cmse.exp: New.
      	* gcc.target/arm/cmse/cmse-1.c: New.
      	* gcc.target/arm/cmse/cmse-12.c: New.
      	* lib/target-supports.exp
      	(check_effective_target_arm_cmse_ok): New.
      
          libgcc/ChangeLog:
          2016-12-02  Andre Vieira  <andre.simoesdiasvieira@arm.com>
      	    Thomas Preud'homme  <thomas.preudhomme@arm.com>
      
      	* config/arm/t-arm (HAVE_CMSE): New.
      	* config/arm/cmse.c: New.
      
      
      Co-Authored-By: Thomas Preud'homme <thomas.preudhomme@arm.com>
      
      From-SVN: r243187
      Andre Vieira committed
  23. 28 Nov, 2016 2 commits
  24. 27 Nov, 2016 1 commit
    • [Darwin] fix PR67710 by updating 'as' specs to handle newer assembler versions. · b410cf1d
      A/ Newer versions of ld64 check the min_version command, and newer versions of
         the system assembler inserts this in response to "-mmacosx-version-min=" on
         the assembler line. Unless one makes sensible versions, some object is bound
         to conflict.
      
      B/ Additionally, there's a difference in behaviour between "as" and "ld" when
         presented with xx.yy.zz (ld truncates to xx.yy, as doesn't); net result is
         that one needs to pass a truncated version to "as".
      
      So (if the assembler supports minversion commands)
      (a) provide a truncated minversion (as asm_macosx_version_min, which is a
          driver-only var).
      (b) pass this to "as"
      (c) Update tests to determine 'HAVE_AS_MMACOSX_VERSION_MIN_OPTION'
          (Rainer's patch)
      (d) For some reason the testcases are "run" (it's not obvious they need to be,
          they are checking compile-time issues)
        - anyway, to preserve the status quo, I've left them as exec.  However, the
          minimum version that can be code-gened for is target-dependent (there are no
          released x86 versions before 10.4, for example).  To avoid conflicts where
          the "as" is assuming some minimum, I've set the testversion to 10.5 (which
          is supported by all the archs we have)
      (e) We need to ensure that libgcc and crts are generated with a sufficiently
          old minversion not to conflict.
      
      gcc/
      
      2016-11-27  Iain Sandoe  <iain@codesourcery.com>
      	    Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
      
      	PR target/67710
      	* config.in: Regenerate
      	* config/darwin-driver.c (darwin_driver_init): Emit a version string
      	for the assembler.
      	* config/darwin.h(ASM_MMACOSX_VERSION_MIN_SPEC): New, new tests.
      	* config/darwin.opt(asm_macosx_version_min): New.
      	* config/i386/darwin.h: Handle ASM_MMACOSX_VERSION_MIN_SPEC.
      	* configure: Regenerate
      	* configure.ac: Check for mmacosx-version-min handling.
      
      gcc/testsuite/
      
      2016-11-27  Iain Sandoe  <iain@codesourcery.com>
      	    Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
      	    Dominique d'Humieres  <dominiq@lps.ens.fr>
      
      	PR target/67710
      	*  gcc.dg/darwin-minversion-1.c: Update min version check.
      	*  gcc.dg/darwin-minversion-2.c: Likewise.
      	*  gcc.dg/darwin-minversion-3.c: Likewise.
      
      libgcc/
      
      2016-11-27  Iain Sandoe  <iain@codesourcery.com>
      	    Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
      
      	PR target/67710
      	*  config/t-darwin: Default builds to 10.5 codegen.
      
      
      Co-Authored-By: Dominique d'Humieres <dominiq@lps.ens.fr>
      Co-Authored-By: Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
      
      From-SVN: r242898
      Iain Sandoe committed
  25. 24 Nov, 2016 1 commit
  26. 23 Nov, 2016 3 commits
  27. 20 Nov, 2016 1 commit
  28. 19 Nov, 2016 1 commit