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: Dave Korn <dave dot korn dot cygwin at gmail dot com>
- To: Kai Tietz <ktietz70 at googlemail dot com>
- Cc: GCC Patches <gcc-patches at gcc dot gnu dot org>
- Date: Sat, 23 Mar 2013 01:10:04 +0000
- 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> <CAEwic4YrNE9+R_nzrjjUUAY5SwvBwV6kTJ8=W_Yq6TBi5Ph+9A at mail dot gmail dot com>
On 23/03/2013 00:41, Kai Tietz wrote:
> 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.
Ok, fair enough.
>>> 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.
Eh? The whole point of this bit is to avoid installing into the native
location in any kind of cross build. This was the fix for PR40125; the libgcc
equivalent of $srcdir/config/lthostflags.m4.
cheers,
DaveK