SYMTAB_DIRNAME: New macro.

gdb/ChangeLog:

	* symtab.h (SYMTAB_DIRNAME): New macro.  All uses of member
	symtab.dirname updated to use it.
This commit is contained in:
Doug Evans 2014-11-18 09:28:32 -08:00
parent eb822aa6d0
commit ee6f8984bb
7 changed files with 28 additions and 17 deletions

View file

@ -659,8 +659,8 @@ source_info (char *ignore, int from_tty)
return;
}
printf_filtered (_("Current source file is %s\n"), s->filename);
if (s->dirname)
printf_filtered (_("Compilation directory is %s\n"), s->dirname);
if (SYMTAB_DIRNAME (s) != NULL)
printf_filtered (_("Compilation directory is %s\n"), SYMTAB_DIRNAME (s));
if (s->fullname)
printf_filtered (_("Located in %s\n"), s->fullname);
if (s->nlines)
@ -1105,7 +1105,7 @@ open_source_file (struct symtab *s)
if (!s)
return -1;
return find_and_open_source (s->filename, s->dirname, &s->fullname);
return find_and_open_source (s->filename, SYMTAB_DIRNAME (s), &s->fullname);
}
/* Finds the fullname that a symtab represents.
@ -1125,7 +1125,8 @@ symtab_to_fullname (struct symtab *s)
to handle cases like the file being moved. */
if (s->fullname == NULL)
{
int fd = find_and_open_source (s->filename, s->dirname, &s->fullname);
int fd = find_and_open_source (s->filename, SYMTAB_DIRNAME (s),
&s->fullname);
if (fd >= 0)
close (fd);
@ -1137,10 +1138,11 @@ symtab_to_fullname (struct symtab *s)
/* 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 || IS_ABSOLUTE_PATH (s->filename))
if (SYMTAB_DIRNAME (s) == NULL || IS_ABSOLUTE_PATH (s->filename))
fullname = xstrdup (s->filename);
else
fullname = concat (s->dirname, SLASH_STRING, s->filename, NULL);
fullname = concat (SYMTAB_DIRNAME (s), SLASH_STRING, s->filename,
NULL);
back_to = make_cleanup (xfree, fullname);
s->fullname = rewrite_source_path (fullname);