>> The llvm and pahole generate BTF_INT_BOOL when the dwarf type has >> attribute DW_ATE_boolean. >> But BTF_INT_BOOL is actually used in libbpf to differentiate >> configuration values (CONFIG_* = 'y' vs. CONFIG_* = <value>) >> >> In llvm, >> uint8_t BTFEncoding; >> switch (Encoding) { >> case dwarf::DW_ATE_boolean: >> BTFEncoding = BTF::INT_BOOL; >> break; >> case dwarf::DW_ATE_signed: >> case dwarf::DW_ATE_signed_char: >> BTFEncoding = BTF::INT_SIGNED; >> break; >> case dwarf::DW_ATE_unsigned: >> case dwarf::DW_ATE_unsigned_char: >> BTFEncoding = 0; >> break; >> default: >> llvm_unreachable("Unknown BTFTypeInt Encoding"); >> } > > I just sent a patch to make GCC behave the same way: > https://gcc.gnu.org/pipermail/gcc-patches/2022-July/598702.html This patch is now applied in GCC master.