This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [patch]: Add configure and required host/target definitions for new cygwin x64 target


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]