This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
[RFA] 12843
- From: Keith Seitz <keiths at redhat dot com>
- To: gdb-patches at sourceware dot org
- Date: Thu, 25 Aug 2011 14:58:56 -0700
- Subject: [RFA] 12843
Hi,
A long time ago, some linespec hacking that I did broke the ability to
use drive letters on Windows. This turned out especially bad since
linespec canonicalization could unexpectedly (to the user) include them.
As a result, gdb was/is unable to re-set some breakpoints on Windows hosts.
This is a pretty simple patch to workaround this problem. It is not
perfect, but implementing something "proper" would be very involved, and
I am not quite sure I want to commit to hacking more of linespec.c
without rewriting the whole thing (which would certainly interfer with
Tom's ambiguous linespec work).
So I'm not sure whether this should be an RFC or and RFA, but I've
decided the later.
This patch checks if ':' is followed by '/' and/or '\\' (depending on
definition of IS_DIR_SEPARATOR). If it is, we keep looking for the next
terminal in the string. This is problematic for filenames with ":\\" or
"://" in them, but locate_first_half has gotten those wrong for a long,
long time (in fact, any filename at all with a colon(s) in it).
In any case, this patch will allow Windows hosts to function properly
again, and causes no regressions on x86_64-linux and i686-pc-cygwin32.
Keith
ChangeLog
2011-08-25 Keith Seitz <keiths@redhat.com>
PR gdb/12843
* linespec.c (locate_first_half): Do not stop on a colon
if the next character is a directory separator character.
testsuite/ChangeLog
2011-08-25 Keith Seitz <keiths@redhat.com>
PR gdb/12843
* gdb.base/ls-driveletter.exp: New file.
Attachment:
12843.patch
Description: Text document