Support AT_USRSTACKBASE and AT_USRSTACKLIM.

Message ID 20220921173646.7219-1-jhb@FreeBSD.org
State Committed
Commit 4f60f82104e428ba23cf7c82cde7ea536af092fd
Headers
Series Support AT_USRSTACKBASE and AT_USRSTACKLIM. |

Commit Message

John Baldwin Sept. 21, 2022, 5:36 p.m. UTC
  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

Nick Clifton Sept. 22, 2022, 11:28 a.m. UTC | #1
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
  

Patch

diff --git a/gdb/fbsd-tdep.c b/gdb/fbsd-tdep.c
index 40370100c0f..309777c55f2 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 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. */
 
 #define AT_SUN_UID      2000    /* Effective user ID.  */
 #define AT_SUN_RUID     2001    /* Real user ID.  */