Support AT_USRSTACKBASE and AT_USRSTACKLIM.
Commit Message
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'.
---
gdb/fbsd-tdep.c | 2 ++
include/elf/common.h | 2 ++
2 files changed, 4 insertions(+)
Comments
Hi John,
> diff --git a/include/elf/common.h b/include/elf/common.h
> index ebcd8f9e82c..287526d74ed 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. */
This part of the patch is approved from a binutils point of view.
Cheers
Nick
@@ -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);
@@ -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. */