aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohn Baldwin <jhb@FreeBSD.org>2022-09-23 15:36:10 -0700
committerJohn Baldwin <jhb@FreeBSD.org>2022-09-23 15:36:10 -0700
commit4f60f82104e428ba23cf7c82cde7ea536af092fd (patch)
tree69a86b7d4ef3020d9f562348263a2af3f6bc87bd
parenteb668e50036e979fb0a74821df4eee0307b44e66 (diff)
downloadfsf-binutils-gdb-4f60f82104e428ba23cf7c82cde7ea536af092fd.zip
fsf-binutils-gdb-4f60f82104e428ba23cf7c82cde7ea536af092fd.tar.gz
fsf-binutils-gdb-4f60f82104e428ba23cf7c82cde7ea536af092fd.tar.bz2
Support AT_USRSTACKBASE and AT_USRSTACKLIM.
FreeBSD's kernel has recently added two new ELF auxiliary vector entries to describe the location of the user stack for the initial thread in a process. This change displays the proper name and description of these entries in 'info auxv'.
-rw-r--r--gdb/fbsd-tdep.c2
-rw-r--r--include/elf/common.h2
2 files changed, 4 insertions, 0 deletions
diff --git a/gdb/fbsd-tdep.c b/gdb/fbsd-tdep.c
index 4037010..309777c 100644
--- a/gdb/fbsd-tdep.c
+++ b/gdb/fbsd-tdep.c
@@ -1571,6 +1571,8 @@ fbsd_print_auxv_entry (struct gdbarch *gdbarch, struct ui_file *file,
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);
+ TAG (USRSTACKBASE, _("Top of user stack"), AUXV_FORMAT_HEX);
+ TAG (USRSTACKLIM, _("Grow limit of user stack"), AUXV_FORMAT_HEX);
}
fprint_auxv_entry (file, name, description, format, type, val);
diff --git a/include/elf/common.h b/include/elf/common.h
index ebcd8f9..287526d 100644
--- a/include/elf/common.h
+++ b/include/elf/common.h
@@ -1405,6 +1405,8 @@
#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_FREEBSD_USRSTACKBASE 35 /* Top of user stack. */
+#define AT_FREEBSD_USRSTACKLIM 36 /* Grow limit of user stack. */
#define AT_SUN_UID 2000 /* Effective user ID. */
#define AT_SUN_RUID 2001 /* Real user ID. */