Mirror of the gdb-patches mailing list
 help / color / mirror / Atom feed
From: Zach Welch <zwelch@codesourcery.com>
To: Joel Brobecker <brobecker@adacore.com>
Cc: <gdb-patches@sourceware.org>
Subject: Re: [PATCH] Fix gdbserver build with x86_64-w64-mingw32 -m32
Date: Tue, 13 Jan 2015 16:59:00 -0000	[thread overview]
Message-ID: <54B54EF2.3050901@codesourcery.com> (raw)
In-Reply-To: <20150113091706.GB8167@adacore.com>

On 01/13/2015 01:17 AM, Joel Brobecker wrote:
>>> Intuitively, I would say that the proper way to achive a 32bit
>>> gdbserver is by configuring it using a 32bit triplet, no?
>>> What happens if you do:
>>>
>>>     ./configure --build=i686-pc-mingw32 CFLAGS='-m32'
>>
>> Actually, I am using i686-pc-linux-gnu as $build.  I think you meant to
>> ask for --host.  I am using --host=x86_64-w64-mingw32 CFLAGS=-m32, which
>> is distinctly different than i686-pc-mingw32.  For example, they use
>> completely different runtime libraries.  I think it would be an error to
>> conflate the two toolchains.  Thus, I stand by my patch as the correct
>> solution for this issue.
> 
> Actually, I did mean --build=. This option is meant to override
> what the config.guess script would normally guess as being your
> operating system. On Windows, at least in my case, config.guess
> guesses i686-pc-mingw32, which is not what you want, because it's
> cygwin. That's why you need --build=i686-pc-mingw32.
> 
> Unless I misunderstood you, I suspect you're gettting confused by
> the meaning of the --host, --build and --target.

I believe that you have misunderstood my scenario.

The build server's host OS is x86_64-linux-gnu; however, I am using a
i686-pc-linux-gnu toolchain (thus, --build=i686-pc-linux-gnu) to produce
32-bit binaries (for maximum portability).  I am using that toolchain to
build a complete cross toolchain for x86_64-w64-mingw32 (--target).

Thus, the primary host for which I am building gdbserver is
x86_64-w64-mingw32 (--host=x86_64-w64-mingw32), but I am also using the
x86_64-w64-mingw32 toolchain to build a multilib for 32-bit windows
(--host=x86_64-w64-mingw32 CFLAGS="-m32") as a secondary host. gdbserver
runs on the target (and is not itself a cross compiler), so --host ==
--target in both cases.

The primary host gdbserver build (--host=x86_64-w64-mingw32) works, but
the secondary host build (--host=x86_64-w64-mingw32 CFLAGS="-m32") fails
without my provided patch.

In conclusion, I feel fairly confident that I am using the correct
configure options.  The i686-pc-mingw32 triplet should not enter into
the equation at all in my situation.

-- 
Zach Welch
Mentor Graphics Corporation
zwelch@codesourcery.com
(503) 685-5434


  reply	other threads:[~2015-01-13 16:59 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-01-09 17:49 Zachary T Welch
2015-01-09 20:05 ` Sergio Durigan Junior
2015-01-12 17:46   ` [PATCH v2] " Zachary T Welch
2015-01-13  9:21     ` Joel Brobecker
2015-01-10  4:17 ` [PATCH] " Joel Brobecker
2015-01-12 17:54   ` Zach Welch
2015-01-13  9:17     ` Joel Brobecker
2015-01-13 16:59       ` Zach Welch [this message]
2015-01-15  4:46         ` Joel Brobecker
2015-01-13 17:42     ` Pedro Alves

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=54B54EF2.3050901@codesourcery.com \
    --to=zwelch@codesourcery.com \
    --cc=brobecker@adacore.com \
    --cc=gdb-patches@sourceware.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox