+2018-05-16 Tom Tromey <tom@tromey.com>
+
+ PR cli/19551:
+ * symfile-add-flags.h (enum symfile_add_flags)
+ <SYMFILE_NOT_FILENAME>: New constant.
+ * symfile.c (read_symbols): Use SYMFILE_NOT_FILENAME. Get
+ objfile name from BFD.
+ (symbol_file_add_with_addrs): Check SYMFILE_NOT_FILENAME.
+ * minidebug.c (find_separate_debug_file_in_section): Put
+ ".gnu_debugdata" into BFD's file name.
+
2018-05-16 Simon Marchi <simon.marchi@ericsson.com>
* regcache.c (regcache_read_ftype, regcache_write_ftype):
return NULL;
#ifdef HAVE_LIBLZMA
- abfd = gdb_bfd_openr_iovec (objfile_name (objfile), gnutarget, lzma_open,
+ std::string filename = string_printf (_(".gnu_debugdata for %s"),
+ objfile_name (objfile));
+
+ abfd = gdb_bfd_openr_iovec (filename.c_str (), gnutarget, lzma_open,
section, lzma_pread, lzma_close, lzma_stat);
if (abfd == NULL)
return NULL;
/* Do not immediately read symbols for this file. By default,
symbols are read when the objfile is created. */
- SYMFILE_NO_READ = 1 << 4
- };
+ SYMFILE_NO_READ = 1 << 4,
+
+ /* The new objfile should be marked OBJF_NOT_FILENAME. */
+ SYMFILE_NOT_FILENAME = 1 << 5,
+ };
DEF_ENUM_FLAGS_TYPE (enum symfile_add_flag, symfile_add_flags);
virtual section-as-bfd like the bfd filename containing the
section. Therefore use also non-canonical name form for the same
file containing the section. */
- symbol_file_add_separate (abfd.get (), objfile->original_name,
- add_flags, objfile);
+ symbol_file_add_separate (abfd.get (),
+ bfd_get_filename (abfd.get ()),
+ add_flags | SYMFILE_NOT_FILENAME, objfile);
}
}
if ((add_flags & SYMFILE_NO_READ) == 0)
flags |= OBJF_READNEVER;
add_flags |= SYMFILE_NO_READ;
}
+ if ((add_flags & SYMFILE_NOT_FILENAME) != 0)
+ flags |= OBJF_NOT_FILENAME;
/* Give user a chance to burp if we'd be
interactively wiping out any existing symbols. */