}
static void
+decode_compiler_flags_notes (unsigned long bitmask)
+{
+ printf("%#lx [", bitmask);
+
+ printf("%c%ccxx11, ", bitmask & GNU_PROPERTY_USECXX_VALIDATION ? '=' : '~',
+ bitmask & GNU_PROPERTY_USECXX11_ABI ? '+' : '!');
+
+ printf("%c%casan", bitmask & GNU_PROPERTY_SANITIZE_VALIDATION ? '=' : '~',
+ bitmask & GNU_PROPERTY_SANITIZE_ADDRESS ? '+' : '!');
+
+ printf("]");
+}
+
+static void
print_gnu_property_note (Elf_Internal_Note * pnote)
{
unsigned char * ptr = (unsigned char *) pnote->descdata;
printf (_("<corrupt length: %#x> "), datasz);
goto next;
+ case GNU_PROPERTY_COMPILER_FLAGS:
+ printf ("compilations flags: ");
+ if ((datasz != 4) && (datasz != 8))
+ printf (_("<corrupt length: %#x> "), datasz);
+ else
+ {
+ unsigned long bitmask_flags;
+ bitmask_flags = (unsigned long) byte_get (ptr, size);
+ decode_compiler_flags_notes (bitmask_flags);
+ }
+ goto next;
+
default:
break;
}