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@xxxxx> --- dwarf_loader.c | 4 ++++ dwarves.h | 1 + 2 files changed, 5 insertions(+) diff --git a/dwarf_loader.c b/dwarf_loader.c index 598fde4..4f07e17 100644 --- a/dwarf_loader.c +++ b/dwarf_loader.c @@ -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; } diff --git a/dwarves.h b/dwarves.h index 1cb0d62..2d08883 100644 --- a/dwarves.h +++ b/dwarves.h @@ -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; -- 2.47.1