This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [patch]: Add configure and required host/target definitions for new cygwin x64 target
- From: Kai Tietz <ktietz70 at googlemail dot com>
- To: Dave Korn <dave dot korn dot cygwin at gmail dot com>
- Cc: GCC Patches <gcc-patches at gcc dot gnu dot org>
- Date: Sat, 23 Mar 2013 01:41:55 +0100
- Subject: Re: [patch]: Add configure and required host/target definitions for new cygwin x64 target
- References: <CAEwic4bW=GNvCEfhPmguH7xOdNts_WcBu5+GZoiZpwZ+SYv+OQ at mail dot gmail dot com> <514CF771 dot 403 at gmail dot com>
2013/3/23 Dave Korn <dave.korn.cygwin@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