Date: Fri, 27 Apr 2001 18:06:31 +0300 From: "Eli Zaretskii" Sender: halo1 AT zahav DOT net DOT il To: pavenis AT lanet DOT lv Message-Id: <1190-Fri27Apr2001180630+0300-eliz@is.elta.co.il> X-Mailer: Emacs 20.6 (via feedmail 8.3.emacs20_6 I) and Blat ver 1.8.9 CC: djgpp-workers AT delorie DOT com In-reply-to: <4634-Fri27Apr2001163416+0300-eliz@is.elta.co.il> Subject: Re: ANNOUNCE: Binutils 2.11 released References: <3AE94FF8 DOT 10469 DOT 397395 AT localhost> (pavenis AT lanet DOT lv) <3AE95FFE DOT 10049 DOT 780CBA AT localhost> <4634-Fri27Apr2001163416+0300-eliz AT is DOT elta DOT co DOT il> Reply-To: djgpp-workers AT delorie DOT com Errors-To: nobody AT delorie DOT com X-Mailing-List: djgpp-workers AT delorie DOT com X-Unsubscribes-To: listserv AT delorie DOT com Precedence: bulk > Date: Fri, 27 Apr 2001 16:34:16 +0300 > From: "Eli Zaretskii" > > I did find in dwarf2read.c some issue with DOSish file names, for > which I'll submit a patch, but I don't think that could be a problem > in this simple test case, since it didn't involve absolute file names. > In order for me to DTRT in the patch, could someone please compile and > link with -gdwarf-2 files whose names are in DOS-style form, like > "d:/foo.c", "d:\foo\bar.c", and "d:/FOO/Bar.c", and see how do they > end up in the debug info? In particular, do the backslashes stay as > backslashes, and is the file-name letter-case changed in any way? Btw, "gcc -gstabs+ d:/foo/bar.c" doesn't DTRT with DOS-style absolute file names: it seems to think that d:/foo/bar.c is a relative file name, because it records it in its entirety in the stabs string where only the basename should be recorded. This then causes objdump to become confused and display file names like d:/foo/d:/foo/bar.c; I'm guessing that other programs which read the debug info, such as GDB, will be confused as well. This seems to be a bug in GCC (including v2.95.3); to see that, try "gcc -S -gstabs+ d:/foo/bar.c" and then look at bar.S. I vaguely remember that I reported something like this in the past. Is this problem fixed in GCC 3.0? I think GCC should convert all backslashes to forward slashes when it records the file names and directory names in the debug info. This will leave the debuggers with only two problems: the drive letter and the case-insensitive file-name comparison. GDB should be able to handle this with the macros provided by include/filenames.h which it shares with Binutils.