aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLuca Boccassi <luca.boccassi@gmail.com>2024-05-20 16:47:00 +0100
committerNick Clifton <nickc@redhat.com>2024-05-20 16:47:00 +0100
commit762910fbd19cf703d732ad3d2f2ff0d95c1cbfa2 (patch)
tree6e1666ad418c235daf1a59835202df8ecedfc0b5
parent4af0542142732be2522cbbcc7ad318ab57933d28 (diff)
downloadbinutils-762910fbd19cf703d732ad3d2f2ff0d95c1cbfa2.zip
binutils-762910fbd19cf703d732ad3d2f2ff0d95c1cbfa2.tar.gz
binutils-762910fbd19cf703d732ad3d2f2ff0d95c1cbfa2.tar.bz2
readelf: add pretty printing for FDO Dlopen Metadata note
-rw-r--r--binutils/readelf.c7
-rw-r--r--include/elf/common.h3
2 files changed, 10 insertions, 0 deletions
diff --git a/binutils/readelf.c b/binutils/readelf.c
index bb3dde0..e2203cf 100644
--- a/binutils/readelf.c
+++ b/binutils/readelf.c
@@ -20514,6 +20514,8 @@ get_note_type (Filedata * filedata, unsigned e_type)
return _("GO BUILDID");
case FDO_PACKAGING_METADATA:
return _("FDO_PACKAGING_METADATA");
+ case FDO_DLOPEN_METADATA:
+ return _("FDO_DLOPEN_METADATA");
default:
break;
}
@@ -21773,6 +21775,11 @@ print_fdo_note (Elf_Internal_Note * pnote)
printf (_(" Packaging Metadata: %.*s\n"), (int) pnote->descsz, pnote->descdata);
return true;
}
+ if (pnote->descsz > 0 && pnote->type == FDO_DLOPEN_METADATA)
+ {
+ printf (_(" Dlopen Metadata: %.*s\n"), (int) pnote->descsz, pnote->descdata);
+ return true;
+ }
return false;
}
diff --git a/include/elf/common.h b/include/elf/common.h
index 832f9bd..7e62c34 100644
--- a/include/elf/common.h
+++ b/include/elf/common.h
@@ -1037,6 +1037,9 @@
/* Values for FDO .note.package notes as defined on https://systemd.io/COREDUMP_PACKAGE_METADATA/ */
#define FDO_PACKAGING_METADATA 0xcafe1a7e
+/* Values for FDO .note.dlopen notes as defined on https://systemd.io/ELF_DLOPEN_METADATA/ */
+#define FDO_DLOPEN_METADATA 0x407c0c0a
+
/* 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. */