This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
[patch]: Add configure and required host/target definitions for new cygwin x64 target
- From: Kai Tietz <ktietz70 at googlemail dot com>
- To: GCC Patches <gcc-patches at gcc dot gnu dot org>
- Date: Fri, 22 Mar 2013 10:56:19 +0100
- Subject: [patch]: Add configure and required host/target definitions for new cygwin x64 target
Hi,
this patch adds required configure changes for new cygwin x64 target.
ChangeLog gcc/
* config.build: Add support for cygwin x64 target.
* config.gcc: Likewise.
* config.host: Likewise.
* configure.ac: Likewise
* configure: Regenerated.
ChangeLog config/
* dfp.m4: Add support for cygwin x64 target.
* picflag.m4: Likewise.
ChangeLog libstdc++-v3/
* crossconfig.m4: Add support for cygwin x64 target.
* configure: Regenerated.
ChangeLog libgcc/
* config.host: Add support for cygwin x64 target.
* configure: Regenerated.
ChangeLog libiberty/
* configure: Regenerated.
ChangeLog libada/
* configure: Regenerated.
ChangeLog libdecnumber/
* configure: Regenerated.
Tested for i686-pc-cygwin, x86_64-pc-cygwin, and x86_64-w64-mingw32.
Ok for apply?
Regards,
Kai
Index: gcc/config.build
===================================================================
--- gcc/config.build (Revision 196898)
+++ gcc/config.build (Arbeitskopie)
@@ -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
;;
Index: gcc/config.gcc
===================================================================
--- gcc/config.gcc (Revision 196898)
+++ gcc/config.gcc (Arbeitskopie)
@@ -1452,6 +1452,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
Index: gcc/config.host
===================================================================
--- gcc/config.host (Revision 196898)
+++ gcc/config.host (Arbeitskopie)
@@ -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"
Index: gcc/configure.ac
===================================================================
--- gcc/configure.ac (Revision 196898)
+++ gcc/configure.ac (Arbeitskopie)
@@ -3623,7 +3623,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
Index: config/dfp.m4
===================================================================
--- config/dfp.m4 (Revision 196898)
+++ config/dfp.m4 (Arbeitskopie)
@@ -23,7 +23,7 @@ Valid choices are 'yes', 'bid', 'dpd', and 'no'.])
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
;;
*)
Index: config/picflag.m4
===================================================================
--- config/picflag.m4 (Revision 196898)
+++ config/picflag.m4 (Arbeitskopie)
@@ -17,8 +17,10 @@ case "${$2}" 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.
# Instead, we relocate shared libraries at runtime.
Index: libgcc/config.host
===================================================================
--- libgcc/config.host (Revision 196898)
+++ libgcc/config.host (Arbeitskopie)
@@ -564,13 +564,30 @@ i[34567]86-*-cygwin*)
tmake_eh_file="i386/t-dw2-eh"
fi
# Shared libgcc DLL install dir depends on cross/native build.
- if test x${build} = x${host} ; then
+ if test x${host} = x${target} ; then
tmake_dlldir_file="i386/t-dlldir"
else
tmake_dlldir_file="i386/t-dlldir-x"
fi
tmake_file="${tmake_file} ${tmake_eh_file} ${tmake_dlldir_file}
i386/t-slibgcc-cygming i386/t-cygming i386/t-cygwin i386/t-crtfm
i386/t-chkstk t-dfprules"
;;
+x86_64-*-cygwin*)
+ extra_parts="crtbegin.o crtend.o crtfastmath.o"
+ # This has to match the logic for DWARF2_UNWIND_INFO in
gcc/config/i386/cygming.h
+ if test x$enable_sjlj_exceptions = xyes; then
+ tmake_eh_file="i386/t-sjlj-eh"
+ else
+ tmake_eh_file="i386/t-seh-eh"
+ fi
+ # Shared libgcc DLL install dir depends on cross/native build.
+ if test x${host} = x${target} ; then
+ tmake_dlldir_file="i386/t-dlldir"
+ else
+ tmake_dlldir_file="i386/t-dlldir-x"
+ fi
+ # FIXME - dj - t-chkstk used to be in here, need a 64-bit version of that
+ tmake_file="${tmake_file} ${tmake_eh_file} ${tmake_dlldir_file}
i386/t-slibgcc-cygming i386/t-cygming i386/t-cygwin i386/t-crtfm
t-dfprules i386/t-chkstk"
+ ;;
i[34567]86-*-mingw*)
extra_parts="crtbegin.o crtend.o crtfastmath.o"
case ${target_thread_file} in
@@ -589,7 +606,7 @@ i[34567]86-*-mingw*)
md_unwind_header=i386/w32-unwind.h
fi
# Shared libgcc DLL install dir depends on cross/native build.
- if test x${build} = x${host} ; then
+ if test x${host} = x${target} ; then
tmake_dlldir_file="i386/t-dlldir"
else
tmake_dlldir_file="i386/t-dlldir-x"
@@ -1143,7 +1160,8 @@ i[34567]86-*-darwin* | x86_64-*-darwin* | \
i[34567]86-*-linux* | x86_64-*-linux* | \
i[34567]86-*-gnu* | \
i[34567]86-*-solaris2* | x86_64-*-solaris2.1[0-9]* | \
- 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-*-freebsd* | x86_64-*-freebsd* | \
i[34567]86-*-openbsd* | x86_64-*-openbsd*)
tmake_file="${tmake_file} t-softfp-tf"