Support AT_BSDFLAGS on FreeBSD.
authorJohn Baldwin <jhb@FreeBSD.org>
Thu, 26 Mar 2020 16:48:28 +0000 (09:48 -0700)
committerJohn Baldwin <jhb@FreeBSD.org>
Thu, 26 Mar 2020 16:48:28 +0000 (09:48 -0700)
FreeBSD's kernel recently added a new ELF auxiliary vector entry
holding a mask of software features provided by the kernel.  This
change fixes 'info auxv' to report the name and description for this
vector entry instead of '???'.

include/ChangeLog:

* elf/common.h (AT_FREEBSD_BSDFLAGS): Define.

gdb/ChangeLog:

* fbsd-tdep.c (fbsd_print_auxv_entry): Handle AT_FREEBSD_BSDFLAGS.

gdb/ChangeLog
gdb/fbsd-tdep.c
include/ChangeLog
include/elf/common.h

index 049f52d3cc31919c214dbfaf045afa76920bf151..10a3548fd4c0c9ca4e7d357598530fc899f42066 100644 (file)
@@ -1,3 +1,7 @@
+2020-03-26  John Baldwin  <jhb@FreeBSD.org>
+
+       * fbsd-tdep.c (fbsd_print_auxv_entry): Handle AT_FREEBSD_BSDFLAGS.
+
 2020-03-26  Tom Tromey  <tom@tromey.com>
 
        * dwarf2/read.c (handle_data_member_location, dwarf2_add_field)
index ffffb187008b8fcfbd207bf84079e526995ed38f..54f5149e5c4782a2b1df95523f13549869c370f1 100644 (file)
@@ -1597,6 +1597,7 @@ fbsd_print_auxv_entry (struct gdbarch *gdbarch, struct ui_file *file,
       TAG (EHDRFLAGS, _("ELF header e_flags"), AUXV_FORMAT_HEX);
       TAG (HWCAP, _("Machine-dependent CPU capability hints"), AUXV_FORMAT_HEX);
       TAG (HWCAP2, _("Extension of AT_HWCAP"), AUXV_FORMAT_HEX);
+      TAG (BSDFLAGS, _("ELF BSD flags"), AUXV_FORMAT_HEX);
     }
 
   fprint_auxv_entry (file, name, description, format, type, val);
index 3d26a570cacfb942ae1c3583edbe338797014b65..d7e5ada9327ff8ce15c2725d23985083e7d44164 100644 (file)
@@ -1,3 +1,7 @@
+2020-03-26  John Baldwin  <jhb@FreeBSD.org>
+
+       * elf/common.h (AT_FREEBSD_BSDFLAGS): Define.
+
 2020-03-24  Martin Liska  <mliska@suse.cz>
 
        PR lto/94249
index 1c84ccb430e65cb00276865f1b89a711af08305f..6741c34a007aa5eb3940da1cfac0b2a773f507c0 100644 (file)
 #define AT_FREEBSD_EHDRFLAGS    24      /* e_flags field from ELF header. */
 #define AT_FREEBSD_HWCAP        25      /* CPU feature flags. */
 #define AT_FREEBSD_HWCAP2       26      /* CPU feature flags 2. */
+#define AT_FREEBSD_BSDFLAGS     27      /* ELF BSD Flags. */
 
 #define AT_SUN_UID      2000    /* Effective user ID.  */
 #define AT_SUN_RUID     2001    /* Real user ID.  */