diff options
Diffstat (limited to 'gdb/dwarf2read.c')
-rw-r--r-- | gdb/dwarf2read.c | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/gdb/dwarf2read.c b/gdb/dwarf2read.c index 0a3a977..9e8c01b 100644 --- a/gdb/dwarf2read.c +++ b/gdb/dwarf2read.c @@ -3473,7 +3473,7 @@ dw2_map_matching_symbols (const char * name, domain_enum namespace, static void dw2_expand_symtabs_matching (struct objfile *objfile, - int (*file_matcher) (const char *, void *), + int (*file_matcher) (const char *, void *, int basenames), int (*name_matcher) (const char *, void *), enum search_domain kind, void *data) @@ -3533,7 +3533,7 @@ dw2_expand_symtabs_matching for (j = 0; j < file_data->num_file_names; ++j) { - if (file_matcher (file_data->file_names[j], data)) + if (file_matcher (file_data->file_names[j], data, 0)) { per_cu->v.quick->mark = 1; break; @@ -4054,6 +4054,12 @@ dwarf2_create_include_psymtab (char *name, struct partial_symtab *pst, { struct partial_symtab *subpst = allocate_psymtab (name, objfile); + if (!IS_ABSOLUTE_PATH (subpst->filename)) + { + /* It shares objfile->objfile_obstack. */ + subpst->dirname = pst->dirname; + } + subpst->section_offsets = pst->section_offsets; subpst->textlow = 0; subpst->texthigh = 0; |