This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
Re: [PATCH] Fix gdbserver build with x86_64-w64-mingw32 -m32
- From: Joel Brobecker <brobecker at adacore dot com>
- To: Zach Welch <zwelch at codesourcery dot com>
- Cc: gdb-patches at sourceware dot org
- Date: Tue, 13 Jan 2015 13:17:06 +0400
- Subject: Re: [PATCH] Fix gdbserver build with x86_64-w64-mingw32 -m32
- Authentication-results: sourceware.org; auth=none
- References: <1420825778-8946-1-git-send-email-zwelch at codesourcery dot com> <20150110041728 dot GQ5445 at adacore dot com> <54B40A39 dot 5000106 at codesourcery dot com>
> > 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.
BTW, if you configure with just --host, you should get the following
warning at the very beginning.
configure: WARNING: If you wanted to set the --build type, don't use --host.
If a cross compiler is detected then cross compile mode will be used.
--
Joel