diff options
author | Joel Brobecker <brobecker@gnat.com> | 2011-12-27 04:03:58 +0000 |
---|---|---|
committer | Joel Brobecker <brobecker@gnat.com> | 2011-12-27 04:03:58 +0000 |
commit | 9c5e43861d58bff3581fcd76db1b23639877838c (patch) | |
tree | 191571886b84fddbb08212a5020350ae82fe954a /gas/as.c | |
parent | ca5202fb326422b2963305329a893606ea295efa (diff) | |
download | gdb-9c5e43861d58bff3581fcd76db1b23639877838c.zip gdb-9c5e43861d58bff3581fcd76db1b23639877838c.tar.gz gdb-9c5e43861d58bff3581fcd76db1b23639877838c.tar.bz2 |
Improve gdb_realpath for Windows hosts
On Windows hosts, gdb_realpath is just an xstrdup. This makes filename
comparisons on Windows very chancy. Normally, we would normalize both
paths, and then compare. But since the normalization doesn't do
anything, two equivalent names on Windows might not match. This can
happen when trying to insert a breakpoint using the fullpath of a file.
For instance, if the compiler generated debug info that says that
the compilation directory is: `c:\\some\\double\\slashes\\dir', then
trying to insert a breakpoint on `c:/some/double/slashes/dir/foo.c:4'
does not work:
(gdb) b c:/some/double/slashes/dir/foo.c:4
No source file named c:/some/double/slashes/dir/foo.c:4.
(gdb) b c:\some\double\slashes\dir\foo.c:4
No source file named c:\some\double\slashes\dir\foo.c:4.
This fixes the problem by enhancing gdb_realpath on Windows hosts.
The code is inspired from libiberty's lrealpath.
gdb/ChangeLog:
* utils.c (gdb_realpath): Add better support for Windows hosts.
Diffstat (limited to 'gas/as.c')
0 files changed, 0 insertions, 0 deletions