[PATCH 5/7] dwarves_fprintf: Accumulate function__fprintf return value in enumeration printing
From: Arnaldo Carvalho de Melo
Date: Thu Jun 18 2026 - 11:22:08 EST
From: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
The return value of function__fprintf was being discarded, causing the
printed byte count to be wrong when enumerations contain DW_TAG_subprogram.
Fixes: a1b3ec41fcc2433d ("dwarf_loader: Initial support for DW_TAG_subprogram in DW_TAG_enumeration")
Assisted-by: Claude:claude-opus-4-6-1m
Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
---
dwarves_fprintf.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/dwarves_fprintf.c b/dwarves_fprintf.c
index 4b6edcce81ebce71..9c12fc1ce8b2037a 100644
--- a/dwarves_fprintf.c
+++ b/dwarves_fprintf.c
@@ -490,7 +490,7 @@ size_t enumeration__fprintf(const struct tag *tag, const struct cu *cu,
switch (pos->tag.tag) {
case DW_TAG_subprogram:
- function__fprintf(&pos->tag, cu, conf, fp);
+ printed += function__fprintf(&pos->tag, cu, conf, fp);
break;
case DW_TAG_enumerator:
printed += fprintf(fp, "%-*s = ", max_entry_name_len, enumerator__name(pos));
--
2.54.0