* source.c (symtab_to_fullname): Apply rewrite_source_path also for
	non-existing files.

gdb/testsuite/
	* gdb.mi/mi-fullname-deleted.exp: Set srcfileabssubst and initdir.
	(set substitute-path): New test.
	(fullname present): Remove content.
	(substituted fullname): New test.
This commit is contained in:
Jan Kratochvil 2013-01-13 18:52:45 +00:00
parent ee659f1f4b
commit f0a4b570b4
4 changed files with 41 additions and 4 deletions

View File

@ -1,3 +1,8 @@
2013-01-13 Jan Kratochvil <jan.kratochvil@redhat.com>
* source.c (symtab_to_fullname): Apply rewrite_source_path also for
non-existing files.
2013-01-11 Jan Kratochvil <jan.kratochvil@redhat.com>
* macrocmd.c (macro_inform_no_debuginfo): Use puts_filtered instead of

View File

@ -1094,10 +1094,25 @@ symtab_to_fullname (struct symtab *s)
if (fd >= 0)
close (fd);
else if (s->dirname == NULL)
s->fullname = xstrdup (s->filename);
else
s->fullname = concat (s->dirname, SLASH_STRING, s->filename, NULL);
{
char *fullname;
struct cleanup *back_to;
/* rewrite_source_path would be applied by find_and_open_source, we
should report the pathname where GDB tried to find the file. */
if (s->dirname == NULL)
fullname = xstrdup (s->filename);
else
fullname = concat (s->dirname, SLASH_STRING, s->filename, NULL);
back_to = make_cleanup (xfree, fullname);
s->fullname = rewrite_source_path (fullname);
if (s->fullname == NULL)
s->fullname = xstrdup (fullname);
do_cleanups (back_to);
}
}
return s->fullname;

View File

@ -1,3 +1,10 @@
2013-01-13 Jan Kratochvil <jan.kratochvil@redhat.com>
* gdb.mi/mi-fullname-deleted.exp: Set srcfileabssubst and initdir.
(set substitute-path): New test.
(fullname present): Remove content.
(substituted fullname): New test.
2013-01-13 Joel Brobecker <brobecker@adacore.com>
* gdb.python/py-finish-breakpoint.exp: Add skip_python_tests

View File

@ -24,6 +24,12 @@ if [mi_gdb_start] {
standard_testfile
set srcfileabs [standard_output_file $srcfile]
if { [regsub {^(/[^/]+)/} $srcfileabs {\1subst/} srcfileabssubst] != 1
|| [regsub {^(/[^/]+)/.*$} $srcfileabs {\1} initdir] != 1 } {
xfail "Missing root subdirectory"
return -1
}
set f [open $srcfileabs "w"]
puts $f "int main (void) { return 0; }"
close $f
@ -38,4 +44,8 @@ file delete -- $srcfileabs
mi_gdb_reinitialize_dir $srcdir/$subdir
mi_gdb_load ${binfile}
mi_gdb_test "-file-list-exec-source-file" ".*\",fullname=\"[string_to_regexp $srcfileabs]\".*" "fullname present"
mi_gdb_test "-interpreter-exec console \"set substitute-path ${initdir} ${initdir}subst\"" {\^done} "set substitute-path"
mi_gdb_test "-file-list-exec-source-file" ".*\",fullname=\".*\".*" "fullname present"
mi_gdb_test "-file-list-exec-source-file" ".*\",fullname=\"[string_to_regexp $srcfileabssubst]\".*" "substituted fullname"