@@ -3440,6 +3440,7 @@ struct dwarf_cus {
int build_id_len;
int error;
struct dwarf_cu *type_dcu;
+ uint32_t nr_cus_created;
};
struct dwarf_thread {
@@ -3472,6 +3473,9 @@ static struct dwarf_cu *dwarf_cus__create_cu(struct dwarf_cus *dcus, Dwarf_Die *
cu->priv = dcu;
cu->dfops = &dwarf__ops;
+ cu->id = dcus->nr_cus_created;
+ dcus->nr_cus_created++;
+
return dcu;
}
@@ -290,6 +290,7 @@ struct cu {
struct ptr_table functions_table;
struct ptr_table tags_table;
struct rb_root functions;
+ uint32_t id;
const char *name;
char *filename;
void *priv;
Add an id member to the struct cu. An id is an index of a CU, in order they are created in dwarf_loader.c This allows for an easy identification of a CU, particularly when they need to be processed in order. Signed-off-by: Ihor Solodrai <ihor.solodrai@pm.me> --- dwarf_loader.c | 4 ++++ dwarves.h | 1 + 2 files changed, 5 insertions(+)