Patchwork Search .dwo in the binary directory.

login
register
mail settings
Submitter Doug Evans via gdb-patches
Date Feb. 13, 2020, 6:19 a.m.
Message ID <20200213061903.83384-1-tamur@google.com>
Download mbox | patch
Permalink /patch/38018/
State New
Headers show

Comments

Doug Evans via gdb-patches - Feb. 13, 2020, 6:19 a.m.
.dwo files generated by the compiler usually resides in the same directory as
the generated binary itself. Add that binary to the list of directories to
search when searching for the .dwo file.

gdb/ChangeLog:

	* dwarf2/read.c (try_open_dwop_file): Include binary directory to
	the list of directories to search.  Search the path also when looking
	for a .dwo file.
---
 gdb/dwarf2/read.c | 9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)

Patch

diff --git a/gdb/dwarf2/read.c b/gdb/dwarf2/read.c
index 7edbd9d7df..39f583e758 100644
--- a/gdb/dwarf2/read.c
+++ b/gdb/dwarf2/read.c
@@ -12012,9 +12012,14 @@  try_open_dwop_file (struct dwarf2_per_objfile *dwarf2_per_objfile,
   else
     search_path = debug_file_directory;
 
+  /* Add the directory of the binary to the search list.  */
+  search_path_holder.reset(
+     concat (ldirname (dwarf2_per_objfile->objfile->original_name).c_str (),
+             dirname_separator_string, search_path, (char *) NULL));
+  search_path = search_path_holder.get ();
+
   openp_flags flags = OPF_RETURN_REALPATH;
-  if (is_dwp)
-    flags |= OPF_SEARCH_IN_PATH;
+  flags |= OPF_SEARCH_IN_PATH;
 
   gdb::unique_xmalloc_ptr<char> absolute_name;
   desc = openp (search_path, flags, file_name,