1. 01 Sep, 2017 1 commit
  2. 31 Aug, 2017 1 commit
  3. 07 Aug, 2017 1 commit
    • Share mingw fset-stack-executable with cygwin · c8f34527
      This patch is in use by Cygwin for years, upstream to GCC.
      
      	* gcc/config/i386/mingw.opt (fset-stack-executable): Removed.
      	* gcc/config/i386/cygming.opt (fset-stack-executable): Moved
      	from mingw.opt.
      	* gcc/config/i386/cygwin.h: Define CHECK_EXECUTE_STACK_ENABLED.
      	* ligcc/config.host (*-cygwin): Include file from mingw
      	config/i386/enable-execute-stack-mingw32.c
      
      From-SVN: r250914
      Jonathan Yong committed
  4. 01 Aug, 2017 3 commits
    • config.gcc (arm-wrs-vxworks*): Rework to handle arm-wrs-vxworks7 as well as arm-wrs-vxworks. · 0b458d2b
      2017-08-01  Jerome Lambourg  <lambourg@adacore.com>
                 Doug Rupp  <rupp@adacore.com>
                 Olivier Hainque  <hainque@adacore.com>
      
        	gcc/
         	* config.gcc (arm-wrs-vxworks*): Rework to handle arm-wrs-vxworks7 as
         	well as arm-wrs-vxworks. Update target_cpu_name from arm6 (arch v3) to
         	arm8 (arch v4).
         	* config/arm/vxworks.h (MAYBE_TARGET_BPABI_CPP_BUILTINS): New, helper
         	for TARGET_OS_CPP_BUILTIN.
         	(TARGET_OS_CPP_BUILTIN): Invoke MAYBE_TARGET_BPABI_CPP_BUILTINS(),
         	refine CPU definitions for arm_arch5 and add those for arm_arch6 and
         	arm_arch7.
          	(MAYBE_ASM_ABI_SPEC): New, helper for SUBTARGET_EXTRA_ASM_SPEC,
         	passing required abi options to the assembler for EABI configurations.
         	(EXTRA_CC1_SPEC): New macro, to help prevent the implicit production
         	of .text.hot and .text.unlikely sections for kernel modules when
         	using ARM style exceptions.
         	(CC1_SPEC): Remove obsolete attempt at mimicking Diab toolchain
         	options. Add EXTRA_CC1_SPEC.
         	(VXWORKS_ENDIAN_SPEC): Adjust comment and remove handling of Diab
         	toolchain options.
         	(DWARF2_UNWIND_INFO): Redefine to handle the pre/post VxWorks 7
         	transition.
         	(ARM_TARGET2_DWARF_FORMAT): Define.
         	* config/arm/t-vxworks: Adjust multilib control to removal of the
         	Diab command line options.
      
         	libgcc/
         	* config.host (arm-wrs-vxworks*): Rework to handle arm-wrs-vxworks7
         	as well as arm-wrs-vxworks.
         	* config/arm/t-vxworks7: New file.  Add unwind-arm-vxworks.c to
         	LIB2ADDEH.
         	* config/arm/unwind-arm-vxworks.c: New file. Provide dummy
         	__exidx_start and __exidx_end for downloadable modules.
      
      
      Co-Authored-By: Doug Rupp <rupp@adacore.com>
      Co-Authored-By: Olivier Hainque <hainque@adacore.com>
      
      From-SVN: r250781
      Jerome Lambourg committed
    • t-vxworks (LIBGCC2_INCLUDES): Start with -I. · 4df612fa
      2017-08-01  Olivier Hainque  <hainque@adacore.com>
      
      	* config/t-vxworks (LIBGCC2_INCLUDES): Start with -I. after -nostdinc.
      	* config/t-vxworks7: Likewise.
      
      From-SVN: r250776
      Olivier Hainque committed
    • t-vxworks: Instead of redefining LIB2ADD, augment LIB2ADDEH with vxlib.c and vxlib-tls.c. · 5560e8c0
      2017-08-01  Olivier Hainque  <hainque@adacore.com>
      
      	* config/t-vxworks: Instead of redefining LIB2ADD,
      	augment LIB2ADDEH with vxlib.c and vxlib-tls.c.
      
      From-SVN: r250775
      Olivier Hainque committed
  5. 28 Jul, 2017 1 commit
    • [PowerPC/RTEMS] Add 64-bit support using ELFv2 ABI · 16bab95a
      Add 64-bit support for RTEMS using the ELFv2 ABI with 64-bit long
      double.
      
      gcc/
      	* config.gcc (powerpc-*-rtems*): Remove rs6000/eabi.h.  Add
      	rs6000/biarch64.h.
      	* config/rs6000/rtems.h (ASM_DECLARE_FUNCTION_SIZE): New macro.
      	(ASM_OUTPUT_SPECIAL_POOL_ENTRY_P): Likewise.
      	(CRT_CALL_STATIC_FUNCTION): Likewise.
      	(ASM_DEFAULT_SPEC): New define.
      	(ASM_SPEC32): Likewise.
      	(ASM_SPEC64): Likewise.
      	(ASM_SPEC_COMMON): Likewise.
      	(ASM_SPEC): Likewise.
      	(INVALID_64BIT): Likewise.
      	(LINK_OS_DEFAULT_SPEC): Likewise.
      	(LINK_OS_SPEC32): Likewise.
      	(LINK_OS_SPEC64): Likewise.
      	(POWERPC_LINUX): Likewise.
      	(PTRDIFF_TYPE): Likewise.
      	(RESTORE_FP_PREFIX): Likewise.
      	(RESTORE_FP_SUFFIX): Likewise.
      	(SAVE_FP_PREFIX): Likewise.
      	(SAVE_FP_SUFFIX): Likewise.
      	(SIZE_TYPE): Likewise.
      	(SUBSUBTARGET_OVERRIDE_OPTIONS): Likewise.
      	(TARGET_64BIT): Likewise.
      	(TARGET_64BIT): Likewise.
      	(TARGET_AIX): Likewise.
      	(WCHAR_TYPE_SIZE): Likewise.
      	(WCHAR_TYPE): Undefine.
      	(TARGET_OS_CPP_BUILTINS): Add 64-bit PowerPC defines.
      	(CPP_OS_DEFAULT_SPEC): Use previous CPP_OS_RTEMS_SPEC.
      	(CPP_OS_RTEMS_SPEC): Delete.
      	(SUBSUBTARGET_EXTRA_SPECS): Remove cpp_os_rtems.  Add
      	asm_spec_common, asm_spec32, asm_spec64, link_os_spec32, and
      	link_os_spec64.
      	* config/rs6000/t-rtems: Add mcpu=e6500/m64 multilibs.
      
      libgcc/
      	* config/rs6000/ibm-ldouble.c: Disable if defined __rtems__.
      
      From-SVN: r250652
      Sebastian Huber committed
  6. 24 Jul, 2017 1 commit
    • PR testsuite/80759 Fix -mcall-ms2sysv-xlogues on Darwin and Solaris · 9cbc07cc
      2017-07-24  Daniel Santos  <daniel.santos@pobox.com>
      
      	PR testsuite/80759
      	* config.host: include i386/t-msabi for darwin and solaris.
      	* config/i386/i386-asm.h
      	(ELFFN): Rename to FN_TYPE.
      	(FN_SIZE): New macro.
      	(FN_HIDDEN): Likewise.
      	(ASMNAME): Likewise.
      	(FUNC_START): Rename to FUNC_BEGIN, use ASMNAME, replace .global with
      	.globl.
      	(HIDDEN_FUNC): Use ASMNAME and .globl instead of .global.
      	(SSE_SAVE): Convert to cpp macro, hard-code offset (always 0x60).
      	* config/i386/resms64.S: Use SSE_SAVE as cpp macro instead of gas
      	.macro.
      	* config/i386/resms64f.S: Likewise.
      	* config/i386/resms64fx.S: Likewise.
      	* config/i386/resms64x.S: Likewise.
      	* config/i386/savms64.S: Likewise.
      	* config/i386/savms64f.S: Likewise.
      
      From-SVN: r250488
      Daniel Santos committed
  7. 19 Jul, 2017 1 commit
  8. 12 Jul, 2017 1 commit
    • re PR target/81193 (PowerPC GCC __builtin_cpu_is and __builtin_cpu_supports… · 3787ee47
      re PR target/81193 (PowerPC GCC __builtin_cpu_is and __builtin_cpu_supports should warn about old libraries)
      
      [gcc]
      2017-07-12  Michael Meissner  <meissner@linux.vnet.ibm.com>
      
      	PR target/81193
      	* config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): If GLIBC
      	provides the hardware capability bits, define the macro
      	__BUILTIN_CPU_SUPPORTS__.
      	* config/rs6000/rs6000.c (cpu_expand_builtin): Generate a warning
      	if GLIBC does not provide the hardware capability bits.  Add a
      	gcc_unreachable call if the built-in cpu function is neither
      	__builtin_cpu_is nor __builtin_cpu_supports.
      	(rs6000_get_function_versions_dispatcher): Change the warning
      	that an old GLIBC is used which does not export the capability
      	bits to be an error.
      	* doc/extend.texi (target_clones attribute): Document the
      	restriction that GLIBC 2.23 or newer is needed on the PowerPC.
      	(PowerPC built-in functions): Document that GLIBC 2.23 or newer is
      	needed by __builtin_cpu_is and __builtin_cpu_supports.  Document
      	the macros defined by GCC if the newer GLIBC is available.
      
      [gcc/testsuite]
      2017-07-12  Michael Meissner  <meissner@linux.vnet.ibm.com>
      
      	PR target/81193
      	* gcc.target/powerpc/bmi-andn-1.c: Add guard against using
      	__builtin_cpu_supports with old GLIBC's.
      	* gcc.target/powerpc/bmi-andn-2.c: Likewise.
      	* gcc.target/powerpc/bmi-bextr-1.c: Likewise.
      	* gcc.target/powerpc/bmi-bextr-2.c: Likewise.
      	* gcc.target/powerpc/bmi-bextr-4.c: Likewise.
      	* gcc.target/powerpc/bmi-bextr-5.c: Likewise.
      	* gcc.target/powerpc/bmi-blsi-1.c: Likewise.
      	* gcc.target/powerpc/bmi-blsi-2.c: Likewise.
      	* gcc.target/powerpc/bmi-blsmsk-1.c: Likewise.
      	* gcc.target/powerpc/bmi-blsmsk-2.c: Likewise.
      	* gcc.target/powerpc/bmi-blsr-1.c: Likewise.
      	* gcc.target/powerpc/bmi-blsr-2.c: Likewise.
      	* gcc.target/powerpc/bmi-tzcnt-1.c: Likewise.
      	* gcc.target/powerpc/bmi-tzcnt-2.c: Likewise.
      	* gcc.target/powerpc/bmi2-bzhi32-1.c: Likewise.
      	* gcc.target/powerpc/bmi2-bzhi64-1.c: Likewise.
      	* gcc.target/powerpc/bmi2-mulx32-1.c: Likewise.
      	* gcc.target/powerpc/bmi2-mulx32-2.c: Likewise.
      	* gcc.target/powerpc/bmi2-mulx64-1.c: Likewise.
      	* gcc.target/powerpc/bmi2-mulx64-2.c: Likewise.
      	* gcc.target/powerpc/bmi2-pdep32-1.c: Likewise.
      	* gcc.target/powerpc/bmi2-pdep64-1.c: Likewise.
      	* gcc.target/powerpc/bmi2-pext32-1.c: Likewise.
      	* gcc.target/powerpc/bmi2-pext64-1.c: Likewise.
      	* gcc.target/powerpc/cpu-builtin-1.c: Likewise.
      
      [libgcc]
      2017-07-12  Michael Meissner  <meissner@linux.vnet.ibm.com>
      
      	PR target/81193
      	* configure.ac (PowerPC float128 hardware support): Test whether
      	we can use __builtin_cpu_supports before enabling the ifunc
      	handler.
      	* configure: Regenerate.
      
      From-SVN: r250165
      Michael Meissner committed
  9. 10 Jul, 2017 1 commit
  10. 09 Jul, 2017 1 commit
  11. 07 Jul, 2017 1 commit
  12. 06 Jul, 2017 1 commit
    • Add support for ARMv8-R architecture · 9296dd9b
      2017-07-06  Thomas Preud'homme  <thomas.preudhomme@arm.com>
      
          gcc/
          * config/arm/arm-cpus.in (armv8-r): Add new entry.
          * config/arm/arm-isa.h (ISA_ARMv8r): Define macro.
          * config/arm/arm-tables.opt: Regenerate.
          * config/arm/arm.h (enum base_architecture): Add BASE_ARCH_8R
          enumerator.
          * doc/invoke.texi: Mention -march=armv8-r and its extensions.
      
          gcc/testsuite/
          * lib/target-supports.exp: Generate
          check_effective_target_arm_arch_v8r_ok, add_options_for_arm_arch_v8r
          and check_effective_target_arm_arch_v8r_multilib.
      
          libgcc/
          * config/arm/lib1funcs.S: Defined __ARM_ARCH__ to 8 for ARMv8-R.
      
      From-SVN: r250025
      Thomas Preud'homme committed
  13. 04 Jul, 2017 1 commit
  14. 03 Jul, 2017 1 commit
  15. 28 Jun, 2017 1 commit
    • Use ucontext_t not struct ucontext in linux-unwind.h files. · 883312dc
      Current glibc no longer gives the ucontext_t type the tag struct
      ucontext, to conform with POSIX namespace rules.  This requires
      various linux-unwind.h files in libgcc, that were previously using
      struct ucontext, to be fixed to use ucontext_t instead.  This is
      similar to the removal of the struct siginfo tag from siginfo_t some
      years ago.
      
      This patch changes those files to use ucontext_t instead.  As the
      standard name that should be unconditionally safe, so this is not
      restricted to architectures supported by glibc, or conditioned on the
      glibc version.
      
      Tested compilation together with current glibc with glibc's
      build-many-glibcs.py.
      
      	* config/aarch64/linux-unwind.h (aarch64_fallback_frame_state),
      	config/alpha/linux-unwind.h (alpha_fallback_frame_state),
      	config/bfin/linux-unwind.h (bfin_fallback_frame_state),
      	config/i386/linux-unwind.h (x86_64_fallback_frame_state,
      	x86_fallback_frame_state), config/m68k/linux-unwind.h (struct
      	uw_ucontext), config/nios2/linux-unwind.h (struct nios2_ucontext),
      	config/pa/linux-unwind.h (pa32_fallback_frame_state),
      	config/riscv/linux-unwind.h (riscv_fallback_frame_state),
      	config/sh/linux-unwind.h (sh_fallback_frame_state),
      	config/tilepro/linux-unwind.h (tile_fallback_frame_state),
      	config/xtensa/linux-unwind.h (xtensa_fallback_frame_state): Use
      	ucontext_t instead of struct ucontext.
      
      From-SVN: r249731
      Joseph Myers committed
  16. 27 Jun, 2017 2 commits
  17. 22 Jun, 2017 1 commit
    • driver-i386.c (host_detect_local_cpu): Add Kaby Lake models to skylake case. · 60edf8bb
      gcc/
      
      2017-06-22  Matt Turner  <mattst88@gmail.com>
      
      	* config/i386/driver-i386.c (host_detect_local_cpu): Add Kaby
      	Lake models to skylake case.  Assume skylake for unknown
      	models with clflushopt.
      
      gcc/testsuite/
      
      2017-06-22  Matt Turner  <mattst88@gmail.com>
      
      	* gcc.target/i386/builtin_target.c: Add Kaby Lake models to
      	skylake check.
      
      libgcc/
      
      2017-06-22  Matt Turner  <mattst88@gmail.com>
      
      	* config/i386/cpuinfo.c (get_intel_cpu): Add Kaby Lake models to
      	skylake case.
      
      From-SVN: r249574
      Matt Turner committed
  18. 21 Jun, 2017 1 commit
  19. 16 Jun, 2017 1 commit
    • [arm] Explicitly set .fpu in cmse_nonsecure_call.S · f0cd49c5
      This file is missing a .fpu directive and was relying on the compiler
      driver passing through a -mfpu= command line option.  When the FPU is
      auto, that will not be passed through correctly, so set something
      suitable within the file itself.
      
      libgcc:
      	 * config/arm/cmse_nonsecure_call.S: Explicitly set the FPU.
      
      From-SVN: r249297
      Richard Earnshaw committed
  20. 09 Jun, 2017 1 commit
    • Speed-up indirect-call instrumentation · 4f751c54
      2017-06-09  Martin Liska  <mliska@suse.cz>
      
      	* tree-profile.c (gimple_gen_ic_profiler): Update comment.
      	(gimple_gen_ic_func_profiler): Emit direct comparison
      	of __gcov_indirect_call_callee with NULL.
      	(gimple_gen_time_profiler): Change probability from
      	PROB_VERY_UNLIKELY to PROB_UNLIKELY.
      2017-06-09  Martin Liska  <mliska@suse.cz>
      
      	* libgcov-profiler.c (__gcov_indirect_call_profiler_v2):
      	Reset __gcov_indirect_call_callee to NULL.
      
      From-SVN: r249058
      Martin Liska committed
  21. 08 Jun, 2017 1 commit
  22. 07 Jun, 2017 2 commits
  23. 02 Jun, 2017 2 commits
  24. 30 May, 2017 1 commit
  25. 26 May, 2017 1 commit
  26. 17 May, 2017 1 commit
  27. 15 May, 2017 1 commit
  28. 14 May, 2017 2 commits
    • PR target/80600 - hidden symbol '__cpu_model' is referenced by DSO · eac8c9f2
      gcc/ChangeLog:
      
              PR target/80600
              * config/netbsd.h (NETBSD_LIBGCC_SPEC): Always add -lgcc.
      
      libgcc/ChangeLog:
      
              PR target/80600
              * config.host (*-*-netbsd*): Add t-slibgcc-libgcc to tmake_file.
      
      From-SVN: r248037
      Krister Walfridsson committed
    • i386.opt: Add option -mcall-ms2sysv-xlogues. · d6d4d770
      gcc/ChangeLog:
      
      	* config/i386/i386.opt: Add option -mcall-ms2sysv-xlogues.
      	* config/i386/i386.h
      	(x86_64_ms_sysv_extra_clobbered_registers): Change type to unsigned.
      	(NUM_X86_64_MS_CLOBBERED_REGS): New macro.
      	(struct machine_function): Add new members call_ms2sysv,
      	call_ms2sysv_pad_in, call_ms2sysv_pad_out and call_ms2sysv_extra_regs.
      	(struct machine_frame_state): New fields sp_realigned and
      	sp_realigned_offset.
      	* config/i386/i386.c
      	(enum xlogue_stub): New enum.
      	(enum xlogue_stub_sets): New enum.
      	(class xlogue_layout): New class.
      	(struct ix86_frame): New fields stack_realign_allocate_offset,
      	stack_realign_offset and outlined_save_offset.  Modify comments to
      	detail stack layout when using out-of-line stubs.
      	(ix86_target_string): Add -mcall-ms2sysv-xlogues option.
      	(ix86_option_override_internal): Add sorry() for TARGET_SEH and
      	-mcall-ms2sysv-xlogues.
      	(stub_managed_regs): New static variable.
      	(ix86_save_reg): Add new parameter ignore_outlined to optionally omit
      	registers managed by out-of-line stub.
      	(disable_call_ms2sysv_xlogues): New function.
      	(ix86_compute_frame_layout): Modify re-alignment calculations, disable
      	m->call_ms2sysv when appropriate and compute frame layout for
      	out-of-line stubs.
      	(sp_valid_at, fp_valid_at): New inline functions.
      	(choose_basereg): New function.
      	(choose_baseaddr): Add align parameter, use choose_basereg and modify
      	all callers.
      	(ix86_emit_save_reg_using_mov, ix86_emit_restore_sse_regs_using_mov):
      	Use align parameter of choose_baseaddr to generated aligned SSE movs
      	when possible.
      	(pro_epilogue_adjust_stack): Modify to track
      	machine_frame_state::sp_realigned.
      	(ix86_nsaved_regs): Modify to accommodate changes to ix86_save_reg.
      	(ix86_nsaved_sseregs): Likewise.
      	(ix86_emit_save_regs): Likewise.
      	(ix86_emit_save_regs_using_mov): Likewise.
      	(ix86_emit_save_sse_regs_using_mov): Likewise.
      	(get_scratch_register_on_entry): Likewise.
      	(gen_frame_set): New function.
      	(gen_frame_load): Likewise.
      	(gen_frame_store): Likewise.
      	(emit_outlined_ms2sysv_save): Likewise.
      	(emit_outlined_ms2sysv_restore): Likewise.
      	(ix86_expand_prologue): Modify stack re-alignment code and call
      	emit_outlined_ms2sysv_save when appropriate.
      	(ix86_emit_leave): Clear machine_frame_state::sp_realigned.  Add
      	parameter rtx_insn *insn, which allows the function to be used to only
      	generate the notes.
      	(ix86_expand_epilogue): Modify validity checks of frame and stack
      	pointers, and call emit_outlined_ms2sysv_restore when appropriate.
      	(ix86_expand_call): Modify to enable m->call_ms2sysv when appropriate.
      	* config/i386/predicates.md
      	(save_multiple): New predicate.
      	(restore_multiple): Likewise.
      	* config/i386/sse.md
      	(save_multiple<mode>): New pattern.
      	(save_multiple_realign<mode>): Likewise.
      	(restore_multiple<mode>): Likewise.
      	(restore_multiple_and_return<mode>): Likewise.
      	(restore_multiple_leave_return<mode>): Likewise.
      	* Makefile.in: Export HOSTCXX and HOSTCXXFLAGS to site.exp
      
      gcc/testsuite/ChangeLog:
      
      	* gcc.target/x86_64/abi/ms-sysv/do-test.S: New file.
      	* gcc.target/x86_64/abi/ms-sysv/gen.cc: Likewise.
      	* gcc.target/x86_64/abi/ms-sysv/ms-sysv.c: Likewise.
      	* gcc.target/x86_64/abi/ms-sysv/ms-sysv.exp: Likewise.
      
      libgcc/ChangeLog:
      
      	* config.host: Add i386/t-msabi to i386/t-linux file list.
      	* config/i386/i386-asm.h: New file.
      	* config/i386/resms64.S: New file.
      	* config/i386/resms64f.S: New file.
      	* config/i386/resms64fx.S: New file.
      	* config/i386/resms64x.S: New file.
      	* config/i386/savms64.S: New file.
      	* config/i386/savms64f.S: New file.
      	* config/i386/t-msabi: New file.
      
      From-SVN: r248029
      Daniel Santos committed
  29. 09 May, 2017 1 commit
  30. 06 May, 2017 1 commit
    • Add fuchsia support to libgcc · 7ab8766a
      	* config/arm/unwind-arm.h (_Unwind_decode_typeinfo_ptr): Use
      	pc-relative indirect handling for fuchsia.
      	* config/t-slibgcc-fuchsia: New file.
      	* config.host (*-*-fuchsia*, aarch64*-*-fuchsia*, arm*-*-fuchsia*,
      	x86_64-*-fuchsia*): Add definitions.
      
      From-SVN: r247710
      Joshua Conner committed
  31. 19 Apr, 2017 1 commit
  32. 18 Apr, 2017 1 commit
  33. 07 Apr, 2017 2 commits