gdb: add an extension language hook for missing debug info
[binutils-gdb.git] / gdb / extension.c
index 65f3bab32a71dbfc111afa183da5677d4fd919ff..9cb393e1d50e3f0bc690cf9f484a5f18f0145b23 100644 (file)
@@ -997,6 +997,25 @@ ext_lang_print_insn (struct gdbarch *gdbarch, CORE_ADDR address,
   return {};
 }
 
+/* See extension.h.  */
+
+ext_lang_missing_debuginfo_result
+ext_lang_handle_missing_debuginfo (struct objfile *objfile)
+{
+  for (const struct extension_language_defn *extlang : extension_languages)
+    {
+      if (extlang->ops == nullptr
+         || extlang->ops->handle_missing_debuginfo == nullptr)
+       continue;
+      ext_lang_missing_debuginfo_result result
+       = extlang->ops->handle_missing_debuginfo (extlang, objfile);
+      if (!result.filename ().empty () || result.try_again ())
+       return result;
+    }
+
+  return {};
+}
+
 /* Called via an observer before gdb prints its prompt.
    Iterate over the extension languages giving them a chance to
    change the prompt.  The first one to change the prompt wins,