diff options
author | Aaron Merey <amerey@redhat.com> | 2022-08-30 20:18:11 -0400 |
---|---|---|
committer | Aaron Merey <amerey@redhat.com> | 2022-08-30 20:20:28 -0400 |
commit | 803584b96d97e1f6ea50b0a0064d2a03ab0baa60 (patch) | |
tree | a6f13695e3196fa6fbb69560271ba8b7e0b5bed6 | |
parent | 649cd1d8df4d927b21b8178dcad1041ad674d672 (diff) | |
download | gdb-803584b96d97e1f6ea50b0a0064d2a03ab0baa60.zip gdb-803584b96d97e1f6ea50b0a0064d2a03ab0baa60.tar.gz gdb-803584b96d97e1f6ea50b0a0064d2a03ab0baa60.tar.bz2 |
gdb/elfread.c: Use bfd filename instead of objfile->original_name
The call to debuginfod_debuginfo_query in elf_symfile_read is given
objfile->original_name as the filename to print when downloading the
objfile's debuginfo.
In some cases original_name is prefixed with gdb's working directory
even though the objfile is not located in the working directory. This
causes debuginfod to display the wrong path of the objfile during a download.
Fix this by using the objfile's bfd filename instead.
-rw-r--r-- | gdb/elfread.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/gdb/elfread.c b/gdb/elfread.c index 08db208..13dbaf0 100644 --- a/gdb/elfread.c +++ b/gdb/elfread.c @@ -1279,13 +1279,14 @@ elf_symfile_read (struct objfile *objfile, symfile_add_flags symfile_flags) has_dwarf2 = false; const struct bfd_build_id *build_id = build_id_bfd_get (objfile->obfd.get ()); + const char *filename = bfd_get_filename (objfile->obfd.get ()); if (build_id != nullptr) { gdb::unique_xmalloc_ptr<char> symfile_path; scoped_fd fd (debuginfod_debuginfo_query (build_id->data, build_id->size, - objfile->original_name, + filename, &symfile_path)); if (fd.get () >= 0) @@ -1295,7 +1296,7 @@ elf_symfile_read (struct objfile *objfile, symfile_add_flags symfile_flags) if (debug_bfd == nullptr) warning (_("File \"%s\" from debuginfod cannot be opened as bfd"), - objfile->original_name); + filename); else if (build_id_verify (debug_bfd.get (), build_id->size, build_id->data)) { symbol_file_add_separate (debug_bfd, symfile_path.get (), |