aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--binutils/readelf.c15
-rw-r--r--include/elf/common.h3
2 files changed, 18 insertions, 0 deletions
diff --git a/binutils/readelf.c b/binutils/readelf.c
index 2e7d285..92aa788 100644
--- a/binutils/readelf.c
+++ b/binutils/readelf.c
@@ -19220,6 +19220,8 @@ get_note_type (Filedata * filedata, unsigned e_type)
return _("NT_SIGINFO (siginfo_t data)");
case NT_FILE:
return _("NT_FILE (mapped files)");
+ case FDO_PACKAGING_METADATA:
+ return _("FDO_PACKAGING_METADATA");
default:
break;
}
@@ -20446,6 +20448,17 @@ print_stapsdt_note (Elf_Internal_Note *pnote)
return false;
}
+static bool
+print_fdo_note (Elf_Internal_Note * pnote)
+{
+ if (pnote->descsz > 0 && pnote->type == FDO_PACKAGING_METADATA)
+ {
+ printf (_(" Packaging Metadata: %.*s\n"), (int) pnote->descsz, pnote->descdata);
+ return true;
+ }
+ return false;
+}
+
static const char *
get_ia64_vms_note_type (unsigned e_type)
{
@@ -21179,6 +21192,8 @@ process_note (Elf_Internal_Note * pnote,
return print_stapsdt_note (pnote);
else if (startswith (pnote->namedata, "CORE"))
return print_core_note (pnote);
+ else if (startswith (pnote->namedata, "FDO"))
+ return print_fdo_note (pnote);
else if (((startswith (pnote->namedata, "GA")
&& strchr ("*$!+", pnote->namedata[2]) != NULL)
|| strchr ("*$!+", pnote->namedata[0]) != NULL)
diff --git a/include/elf/common.h b/include/elf/common.h
index 5d31e35..61cfaac 100644
--- a/include/elf/common.h
+++ b/include/elf/common.h
@@ -997,6 +997,9 @@
#define NT_FREEBSD_ABI_TAG 1
+/* Values for FDO .note.package notes as defined on https://systemd.io/COREDUMP_PACKAGE_METADATA/ */
+#define FDO_PACKAGING_METADATA 0xcafe1a7e
+
/* These three macros disassemble and assemble a symbol table st_info field,
which contains the symbol binding and symbol type. The STB_ and STT_
defines identify the binding and type. */