[PATCH] Support AT_FXRNG and AT_KPRELOAD on FreeBSD.
John Baldwin
jhb@FreeBSD.org
Mon Dec 6 21:31:14 GMT 2021
FreeBSD's kernel has recently added two new ELF auxiliary vector
entries. AT_FXRNG points to a root seed version for the kernel's
PRNG. Userland can use this to reseed a userland PRNG after the
kernel's PRNG has reseeded. AT_KPRELOAD is the base address of a
kernel-provided vDSO.
This change displays the proper name and description of these entries
in 'info auxv'.
include/ChangeLog:
* elf/common.h (AT_FREEBSD_FXRNG, AT_FREEBSD_KPRELOAD): Define.
---
gdb/fbsd-tdep.c | 2 ++
include/ChangeLog | 4 ++++
include/elf/common.h | 2 ++
3 files changed, 8 insertions(+)
diff --git a/gdb/fbsd-tdep.c b/gdb/fbsd-tdep.c
index 4da7798544b..346ff7b602b 100644
--- a/gdb/fbsd-tdep.c
+++ b/gdb/fbsd-tdep.c
@@ -1565,6 +1565,8 @@ fbsd_print_auxv_entry (struct gdbarch *gdbarch, struct ui_file *file,
TAG (ENVC, _("Environment count"), AUXV_FORMAT_DEC);
TAG (ENVV, _("Environment vector"), AUXV_FORMAT_HEX);
TAG (PS_STRINGS, _("Pointer to ps_strings"), AUXV_FORMAT_HEX);
+ TAG (FXRNG, _("Pointer to root RNG seed version"), AUXV_FORMAT_HEX);
+ TAG (KPRELOAD, _("Base address of vDSO"), AUXV_FORMAT_HEX);
}
fprint_auxv_entry (file, name, description, format, type, val);
diff --git a/include/ChangeLog b/include/ChangeLog
index c5b3631ae83..27ddd636c08 100644
--- a/include/ChangeLog
+++ b/include/ChangeLog
@@ -1,3 +1,7 @@
+2021-12-06 John Baldwin <jhb@FreeBSD.org>
+
+ * elf/common.h (AT_FREEBSD_FXRNG, AT_FREEBSD_KPRELOAD): Define.
+
2021-12-01 Nick Clifton <nickc@redhat.com>
PR 28630
diff --git a/include/elf/common.h b/include/elf/common.h
index 61cfaacfe6c..66bc06ff326 100644
--- a/include/elf/common.h
+++ b/include/elf/common.h
@@ -1392,6 +1392,8 @@
#define AT_FREEBSD_ENVC 30 /* Environment count. */
#define AT_FREEBSD_ENVV 31 /* Environment vvector. */
#define AT_FREEBSD_PS_STRINGS 32 /* struct ps_strings. */
+#define AT_FREEBSD_FXRNG 33 /* Pointer to root RNG seed version. */
+#define AT_FREEBSD_KPRELOAD 34 /* Base of vdso. */
#define AT_SUN_UID 2000 /* Effective user ID. */
#define AT_SUN_RUID 2001 /* Real user ID. */
--
2.32.0
More information about the Binutils
mailing list