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"