On Wed, 2009-09-02 at 06:23 +0300, Eli Zaretskii wrote: > > From: Danny Backx > > Cc: tromey@redhat.com, gdb@sourceware.org > > Date: Tue, 01 Sep 2009 22:12:08 +0200 > > > > Should I then look into : > > - changing HAVE_DOS_BASED_FILE_SYSTEM into a variable > > - doing the same thing for FILENAME_PREFIX_LEN and FILENAME_CMPN > > HAVE_DOS_BASED_FILE_SYSTEM should be controllable by a variable, and > should then automatically DTRT with FILENAME_PREFIX_LEN. As for > FILENAME_CMPN, I don't think it's appropriate for Posix systems to > compare file names case-insensitively, so if you need that as well, I > think a separate variable is in order. ESR said "early and often", right ? Here is a first draft of my work. Showing this early allows you to steer me in the right direction. I've changed include/filenames.h and the gdb source files that contained HAVE_DOS_BASED_FILE_SYSTEM to replace that by a variable. Some surprises : - libiberty also includes filenames.h - filenames.h says it's part of bfd, so basing it on a global variable, as I did, might have side effects Otherwise, this code appears to work for me. I hardcoded the variable in gdb/main.c, set this to both 0 and 1 for testing, and saw the expected results. Comments on all this welcome (e.g. I've left all this stuff in the include file as inline functions, is this a bad idea?). Also I left all the case sensitive stuff alone, and the also the filename break characters, so HAVE_DOS_BASED_FILE_SYSTEM is still present (gdb/symtab.c and gdb/completer.c). Should I copy code that handles a variable like "solib-search-path" or "annotate" to set the _have_dos_based_file_system at runtime ? Danny -- Danny Backx ; danny.backx - at - scarlet.be ; http://danny.backx.info