From b802ae5c6feccffaa98785b3a4f3e7eecd089b13 Mon Sep 17 00:00:00 2001
From: Kai Tietz <ktietz@redhat.com>
Date: Wed, 27 Mar 2013 22:54:50 +0100
Subject: [PATCH] config.build: Add support for cygwin x64 target.

        * config.build: Add support for cygwin x64 target.
        * config.gcc: Likewise.
        * config.host: Likewise.
        * configure.ac: Likewise
        * configure: Regenerated.

From-SVN: r197171
---
 gcc/ChangeLog    |  8 ++++++++
 gcc/config.build |  2 +-
 gcc/config.gcc   | 16 ++++++++++++++++
 gcc/config.host  |  2 +-
 gcc/configure    |  8 +++++---
 gcc/configure.ac |  2 +-
 6 files changed, 32 insertions(+), 6 deletions(-)

diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index e39980135876..cd2a415818e3 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,11 @@
+2013-03-27  Kai Tietz  <ktietz@redhat.com>
+
+        * config.build: Add support for cygwin x64 target.
+        * config.gcc: Likewise.
+        * config.host: Likewise.
+        * configure.ac: Likewise
+        * configure: Regenerated.
+
 2013-03-27 Kai Tietz  <ktietz@redhat.com>
 
 	* config/i386/cygwin-stdint.h: Add support for cygwin x64 target.
diff --git a/gcc/config.build b/gcc/config.build
index 0bc5ce8c255c..12d52480f103 100644
--- a/gcc/config.build
+++ b/gcc/config.build
@@ -60,7 +60,7 @@ case $build in
     # IBM 360/370/390 Architecture
     build_xm_defines='FATAL_EXIT_CODE=12'
     ;;
-  i[34567]86-*-cygwin* )
+  i[34567]86-*-cygwin* | x86_64-*-cygwin* )
     build_xm_file=i386/xm-cygwin.h
     build_exeext=.exe
     ;;
diff --git a/gcc/config.gcc b/gcc/config.gcc
index 11af65f9fab1..e51db91478c7 100644
--- a/gcc/config.gcc
+++ b/gcc/config.gcc
@@ -1456,6 +1456,22 @@ i[34567]86-*-cygwin*)
 	fi
 	use_gcc_stdint=wrap
 	;;
+x86_64-*-cygwin*)
+	need_64bit_isa=yes
+	tm_file="${tm_file} i386/unix.h i386/bsd.h i386/gas.h dbxcoff.h i386/cygming.h i386/cygwin.h i386/cygwin-w64.h i386/cygwin-stdint.h"
+	xm_file=i386/xm-cygwin.h
+	tmake_file="${tmake_file} i386/t-cygming t-slibgcc i386/t-cygwin-w64"
+	target_gtfiles="\$(srcdir)/config/i386/winnt.c"
+	extra_options="${extra_options} i386/cygming.opt"
+	extra_objs="winnt.o winnt-stubs.o"
+	c_target_objs="${c_target_objs} msformat-c.o"
+	cxx_target_objs="${cxx_target_objs} winnt-cxx.o msformat-c.o"
+	if test x$enable_threads = xyes; then
+		thread_file='posix'
+	fi
+	use_gcc_stdint=wrap
+	tm_defines="${tm_defines} TARGET_CYGWIN64=1"
+	;;
 i[34567]86-*-mingw* | x86_64-*-mingw*)
 	tm_file="${tm_file} i386/unix.h i386/bsd.h i386/gas.h dbxcoff.h i386/cygming.h"
 	xm_file=i386/xm-mingw32.h
diff --git a/gcc/config.host b/gcc/config.host
index 1196ec523391..9c2a771e9118 100644
--- a/gcc/config.host
+++ b/gcc/config.host
@@ -214,7 +214,7 @@ case ${host} in
         ;;
     esac
     ;;
-  i[34567]86-*-cygwin*)
+  i[34567]86-*-cygwin* | x86_64-*-cygwin*)
     host_xm_file=i386/xm-cygwin.h
     out_host_hook_obj=host-cygwin.o
     host_xmake_file="${host_xmake_file} i386/x-cygwin"
diff --git a/gcc/configure b/gcc/configure
index 3db6a77c3153..b8389066859c 100755
--- a/gcc/configure
+++ b/gcc/configure
@@ -4893,7 +4893,9 @@ case "${target}" in
     hppa*64*-*-hpux*)
 	# PIC is the default for 64-bit PA HP-UX.
 	;;
-    i[34567]86-*-cygwin* | i[34567]86-*-mingw* | x86_64-*-mingw*)
+    i[34567]86-*-cygwin* | x86_64-*-cygwin*)
+	;;
+    i[34567]86-*-mingw* | x86_64-*-mingw*)
 	;;
     i[34567]86-*-interix[3-9]*)
 	# Interix 3.x gcc -fpic/-fPIC options generate broken code.
@@ -7079,7 +7081,7 @@ else
     powerpc*-*-linux* | i?86*-*-linux* | x86_64*-*-linux* | s390*-*-linux* | \
     i?86*-*-gnu* | \
     i?86*-*-mingw* | x86_64*-*-mingw* | \
-    i?86*-*-cygwin*)
+    i?86*-*-cygwin* | x86_64*-*-cygwin*)
       enable_decimal_float=yes
       ;;
     *)
@@ -24276,7 +24278,7 @@ fi
 	# wrappers to aid in interposing and redirecting operators new, delete,
 	# etc., as per n2800 #17.6.4.6 [replacement.functions].  Check if we
 	# are configuring for a version of Cygwin that exports the wrappers.
-	if test x$host = x$target; then
+	if test x$host = x$target && test x$host_cpu = xi686; then
 	  ac_fn_c_check_func "$LINENO" "__wrap__Znaj" "ac_cv_func___wrap__Znaj"
 if test "x$ac_cv_func___wrap__Znaj" = x""yes; then :
   gcc_ac_cygwin_dll_wrappers=yes
diff --git a/gcc/configure.ac b/gcc/configure.ac
index e9ad74c642dc..068c66ae9a3e 100644
--- a/gcc/configure.ac
+++ b/gcc/configure.ac
@@ -3624,7 +3624,7 @@ changequote([,])dnl
 	# wrappers to aid in interposing and redirecting operators new, delete,
 	# etc., as per n2800 #17.6.4.6 [replacement.functions].  Check if we
 	# are configuring for a version of Cygwin that exports the wrappers.
-	if test x$host = x$target; then
+	if test x$host = x$target && test x$host_cpu = xi686; then
 	  AC_CHECK_FUNC([__wrap__Znaj],[gcc_ac_cygwin_dll_wrappers=yes],[gcc_ac_cygwin_dll_wrappers=no])
 	else
 	  # Can't check presence of libc functions during cross-compile, so
-- 
GitLab