Em Thu, Mar 07, 2019 at 11:09:17AM -0300, Arnaldo Carvalho de Melo escreveu: > Em Thu, Mar 07, 2019 at 11:02:47AM -0300, Arnaldo Carvalho de Melo escreveu: > > Em Wed, Mar 06, 2019 at 04:23:21PM -0800, Andrii Nakryiko escreveu: > > > Due to this assumption, libdwarves and other parts of pahole are using 16-bit > > > counters to iterate over entities within CU. This can cause infinite loop when > > > iterating BTF data, if there are more than 65535 types. This patch changes > > > non-public variables to use 32-bit integers, where appropriate. > > > Ok, there are some bits that are unrelated, I'm comment on it and remove > > before applying. > > Ooops, see below, I'm removing the non-type related parts, and will look > at changing the types till btfdiff with that allyesconfig aarch64 > vmlinux image shows no diffs. This one as well is not needed: @@ -1225,7 +1225,7 @@ static size_t __class__fprintf(struct class *class, const struct cu *cu, struct tag *tag_pos; const char *current_accessibility = NULL; struct conf_fprintf cconf = conf ? *conf : conf_fprintf__defaults; - const uint16_t t = type->namespace.tag.tag; + const uint32_t t = type->namespace.tag.tag; size_t printed = fprintf(fp, "%s%s%s%s%s", cconf.prefix ?: "", cconf.prefix ? " " : "", ((cconf.classes_as_structs || As this is just for the type of the tag, not its type, i.e. its about DW_TAG_struct_type, etc. - Arnaldo