This is the mail archive of the gdb-patches@sourceware.org mailing list for the GDB 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]

Possible fix for mingw32 directory relocation problems


  After some debugging,
we finally managed to find out that 
mingw32 specific directory relocations are related
to msys -> mingw32 argument conversions.

http://sourceware.org/ml/gdb-patches/2012-01/msg00537.html

This is explained in:

http://www.mingw.org/wiki/Posix_path_conversion

This page also allows to understand why
using mingw32 style paths for prefix at configure
level works and avoid the troubles encountered.

This conversion concerns defines passed by command line arguments
to gcc, which are specific to main.o
compilation, as found in gdb/Makefile.in
1520-
1521:# main.o needs an explicit build rule to get TARGET_SYSTEM_ROOT and
BINDIR.
1522-main.o: $(srcdir)/main.c
1523:   $(COMPILE) $(TARGET_SYSTEM_ROOT_DEFINE) -DBINDIR=\"$(bindir)\"
$(srcdir)/main.c
1524-   $(POSTCOMPILE)
1525-

  But this leads to a conversion:
  -DBINDIR="/usr/local/bin\"
gets transformed into '-D' 'BINDIR="E:/msys/mingw32/msys/1.0/local/bin"'

  While other pates used in relocate_gdb_directory calls
are macros defined inside gdb/config.h

config.h:#define DEBUGDIR "/usr/local/lib/debug"
config.h:#define GDB_DATADIR "/usr/local/share/gdb"
config.h:#define JIT_READER_DIR "/usr/local/lib/gdb"

Those are of course not affected by msys command-line argument conversion.

  The first question is:
Why do we need to pass BINDIR (and TARGET_SYSTEM_ROOT_DEFINE)
at the command line instead of inside config.h as for other 
directories?
  
 If the answer to the first question is "we don't",
then I need help about how to convert those
Makefile.in variables into new entries of generated config.h file.

  I don't have enough knowledge about autoconf scripts to
handle this...
  An extra bonus of this change would be that it would
render the special rule for main.o compilation unnecessary.

Comments most welcome and help needed...

Pierre Muller
GDB pascal language maintainer



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