Building GDB 7.3.92 with MinGW

Joel Brobecker brobecker@adacore.com
Sun Jan 15 17:01:00 GMT 2012


> This might explain how it works for me: I manually edit config.h to
> convert MSYS file names to native Windows ones, before building GDB.

This should not be necessary.

I am not too sure whether the problems with MSYS also happen on cygwin
or whether you have different issues. But I *think* we solve the problem
by using semi-absolute paths (a path that looks absolute in a Unix
environment, but is only missing the drive letter in the windows
environment). To make it work, we use a directory name that works
in both environments. For instance, if one could have directory c:/gnu/,
and setup cygwin to mount c:/gnu into /gnu.

And then, one could configure GDB with a prefix such as --prefix=/gnu.
As long as the other directories are configured as a subdirectory of
that prefix, it should work as well as it does for me.

I said "I think" because the environment was setup for me, and it just
worked, so I never looked into this further.

Naively, I thought that it would have worked anyways if GDB was
configured with an MSYS-only path. I just don't know enough about
the whole process to understand what happened without debugging
myself. I am wondering whether, maybe, the configure script is auto-
computing some paths that, textually, do not look like a subdirectory
of the prefix.

> Perhaps Joel could tell where and how the relocation of the standard
> directories happens for him, and then we could try stepping through
> that code with a debugger.

The relocation happens during startup. Search for "relocate" in
main.c (I think - it should be inside function "captured_main").

During your debugging, it would be good to know whether the relocation
is turned off, of whether it is failing.  A good way to figure this
out, is to look at the generated gdb/config.h file. Search for "RELOCAT",
and in particular: PYTHON_PATH_RELOCATABLE (I think that's what
matters). In fact, why don't you and Pierre send your gdb/config.h file
for us to inspect. Attached is mine.

> Alternatively, did you try to use MinGW file names in --prefix when
> configuring in the first place?

That's what we do. I missed this part of your reply when I started
writing mine. The "trick" is to provide a directory name that both
MinGW and MSYS understand (I am not really sure why this is necessary).

-- 
Joel
-------------- next part --------------
A non-text attachment was scrubbed...
Name: x86-windows-config.h
Type: text/x-chdr
Size: 30372 bytes
Desc: not available
URL: <http://sourceware.org/pipermail/gdb-patches/attachments/20120115/d101c7a7/attachment.bin>


More information about the Gdb-patches mailing list