From: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> As we'll use with the cus lock already held when getting the next CU from vmlinux to keep the order in the original DWARF file. Cc: Alan Maguire <alan.maguire@xxxxxxxxxx> Cc: Kui-Feng Lee <kuifeng@xxxxxx> Cc: Thomas Weißschuh <linux@xxxxxxxxxxxxxx> Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> --- dwarves.c | 9 ++++++--- dwarves.h | 1 + 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/dwarves.c b/dwarves.c index 3b4be595aa59a856..654a8085e9252a21 100644 --- a/dwarves.c +++ b/dwarves.c @@ -479,13 +479,16 @@ uint32_t cus__nr_entries(const struct cus *cus) return cus->nr_entries; } -void cus__add(struct cus *cus, struct cu *cu) +void __cus__add(struct cus *cus, struct cu *cu) { - cus__lock(cus); - cus->nr_entries++; list_add_tail(&cu->node, &cus->cus); +} +void cus__add(struct cus *cus, struct cu *cu) +{ + cus__lock(cus); + __cus__add(cus, cu); cus__unlock(cus); cu__find_class_holes(cu); diff --git a/dwarves.h b/dwarves.h index 4dfaa01a00f782d9..42b00bc1341e66cb 100644 --- a/dwarves.h +++ b/dwarves.h @@ -171,6 +171,7 @@ int cus__fprintf_load_files_err(struct cus *cus, const char *tool, int cus__load_dir(struct cus *cus, struct conf_load *conf, const char *dirname, const char *filename_mask, const int recursive); +void __cus__add(struct cus *cus, struct cu *cu); void cus__add(struct cus *cus, struct cu *cu); void cus__print_error_msg(const char *progname, const struct cus *cus, const char *filename, const int err); -- 2.44.0