+2019-02-12 John Baldwin <jhb@FreeBSD.org>
+
+ * symfile.c (find_separate_debug_file): Look for separate debug
+ files in debug directories under the sysroot.
+
2019-02-12 Philippe Waroquiers <philippe.waroquiers@skynet.be>
* symtab.h (struct minimal_symbol data_p): New const method.
if (separate_debug_file_exists (debugfile, crc32, objfile))
return debugfile;
- /* If the file is in the sysroot, try using its base path in the
- global debugfile directory. */
if (canon_dir != NULL
&& filename_ncmp (canon_dir, gdb_sysroot,
strlen (gdb_sysroot)) == 0
&& IS_DIR_SEPARATOR (canon_dir[strlen (gdb_sysroot)]))
{
+ /* If the file is in the sysroot, try using its base path in
+ the global debugfile directory. */
debugfile = target_prefix ? "target:" : "";
debugfile += debugdir.get ();
debugfile += (canon_dir + strlen (gdb_sysroot));
debugfile += "/";
debugfile += debuglink;
+ if (separate_debug_file_exists (debugfile, crc32, objfile))
+ return debugfile;
+
+ /* If the file is in the sysroot, try using its base path in
+ the sysroot's global debugfile directory. */
+ debugfile = target_prefix ? "target:" : "";
+ debugfile += gdb_sysroot;
+ debugfile += debugdir.get ();
+ debugfile += (canon_dir + strlen (gdb_sysroot));
+ debugfile += "/";
+ debugfile += debuglink;
+
if (separate_debug_file_exists (debugfile, crc32, objfile))
return debugfile;
}
+
}
return std::string ();