diff --git a/dwarf_loader.c b/dwarf_loader.c index 9b4a500d..34fc17c6 100644 --- a/dwarf_loader.c +++ b/dwarf_loader.c @@ -241,7 +241,12 @@ static uint64_t attr_numeric(Dwarf_Die *die, uint32_t name) } break; case DW_FORM_flag: - return 1; + case DW_FORM_flag_present: { + bool value; + if (dwarf_formflag(&attr, &value) == 0) + return value; + } + break; default: fprintf(stderr, "DW_AT_<0x%x>=0x%x\n", name, form); break;