#ifndef DWARF2READ_H
#define DWARF2READ_H
+#include <unordered_map>
+#include "dwarf-index-cache.h"
#include "filename-seen-cache.h"
#include "gdb_obstack.h"
+/* Hold 'maintenance (set|show) dwarf' commands. */
+extern struct cmd_list_element *set_dwarf_cmdlist;
+extern struct cmd_list_element *show_dwarf_cmdlist;
+
typedef struct dwarf2_per_cu_data *dwarf2_per_cu_ptr;
DEF_VEC_P (dwarf2_per_cu_ptr);
struct mapped_index;
struct mapped_debug_names;
struct signatured_type;
+struct die_info;
+typedef struct die_info *die_info_ptr;
/* Collection of data recorded per objfile.
This hangs off of dwarf2_objfile_data_key. */
/* Table containing all filenames. This is an optional because the
table is lazily constructed on first access. */
gdb::optional<filename_seen_cache> filenames_cache;
+
+ /* If we loaded the index from an external file, this contains the
+ resources associated to the open file, memory mapping, etc. */
+ std::unique_ptr<index_cache_resource> index_cache_res;
+
+ /* Mapping from abstract origin DIE to concrete DIEs that reference it as
+ DW_AT_abstract_origin. */
+ std::unordered_map<die_info_ptr, std::vector<die_info_ptr>>
+ abstract_to_concrete;
};
/* Get the dwarf2_per_objfile associated to OBJFILE. */