summaryrefslogtreecommitdiff
path: root/gdb/psymtab.c
diff options
context:
space:
mode:
authorDoug Evans <dje@google.com>2011-11-11 00:43:02 +0000
committerDoug Evans <dje@google.com>2011-11-11 00:43:02 +0000
commit9173e1b306f5b904f6349b8df50346a321074e08 (patch)
tree9bf4f6fef9fabd8bc5e90de14b34ea00aa7b25af /gdb/psymtab.c
parentc4089d67705fee0f245632982fd8172a053cd725 (diff)
downloadgdb-9173e1b306f5b904f6349b8df50346a321074e08.tar.gz
* dwarf2read.c (dw2_map_symbol_filenames): New parameter
`need_fullname'. * psymtab.c (map_symbol_filenames_psymtab): Ditto. (map_partial_symbol_filenames): Ditto. All callers updated. * psymtab.h (map_partial_symbol_filenames): Update prototype. * symfile.h (struct quick_symbol_functions, map_symbol_filenames): New parameter need_fullname.
Diffstat (limited to 'gdb/psymtab.c')
-rw-r--r--gdb/psymtab.c14
1 files changed, 10 insertions, 4 deletions
diff --git a/gdb/psymtab.c b/gdb/psymtab.c
index 38adca2e227..6012118e341 100644
--- a/gdb/psymtab.c
+++ b/gdb/psymtab.c
@@ -1082,7 +1082,8 @@ read_psymtabs_with_filename (struct objfile *objfile, const char *filename)
static void
map_symbol_filenames_psymtab (struct objfile *objfile,
- symbol_filename_ftype *fun, void *data)
+ symbol_filename_ftype *fun, void *data,
+ int need_fullname)
{
struct partial_symtab *ps;
@@ -1094,7 +1095,10 @@ map_symbol_filenames_psymtab (struct objfile *objfile,
continue;
QUIT;
- fullname = psymtab_to_fullname (ps);
+ if (need_fullname)
+ fullname = psymtab_to_fullname (ps);
+ else
+ fullname = NULL;
(*fun) (ps->filename, fullname, data);
}
}
@@ -1921,13 +1925,15 @@ expand_partial_symbol_names (int (*fun) (const char *, void *), void *data)
}
void
-map_partial_symbol_filenames (symbol_filename_ftype *fun, void *data)
+map_partial_symbol_filenames (symbol_filename_ftype *fun, void *data,
+ int need_fullname)
{
struct objfile *objfile;
ALL_OBJFILES (objfile)
{
if (objfile->sf)
- objfile->sf->qf->map_symbol_filenames (objfile, fun, data);
+ objfile->sf->qf->map_symbol_filenames (objfile, fun, data,
+ need_fullname);
}
}