2013/3/23 Dave Korn <dave.korn.cyg...@gmail.com>: > On 22/03/2013 09:56, Kai Tietz wrote: >> Hi, >> >> this patch adds required configure changes for new cygwin x64 target. > >> 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 > > Rather than just bailing on x86_64, shouldn't this code check for the > presence of one of the 64-bit versions of the C++ wrapper functions such as > __wrap__Znam instead?
Sure, this should be a follow-up patch. For now we should get initial version into repository. There are some other places we need to visit later, too. >> 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 > > I don't get this. We're compiling a target library, so only build and host > are correct to use, AIUI; $target may still be set by accident, but it's not > meaningful when building a target lib. Well, I think the idea here was that cygwin installs anyway (especially for candian-cross AFAIR) into native (bin/) location. That's a kludge. Actual the x64 mingw hunk is wrong, and I notice that for 32-bit default mingw we install for cross into wrong location. >> # Shared libgcc DLL install dir depends on cross/native build. >> - if test x${build} = x${host} ; then >> + if test x${host} = x${target} ; then > > Same here. > > cheers, > DaveK > Cheers, Kai