> 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