diff options
author | John Baldwin <jhb@FreeBSD.org> | 2017-10-05 09:50:01 -0700 |
---|---|---|
committer | John Baldwin <jhb@FreeBSD.org> | 2017-10-05 09:50:01 -0700 |
commit | 12c4bd7f53e9cefcf7c3a7f8cbf9e552526cb963 (patch) | |
tree | f02505e3e580b47d64c1db0b07c96fc7833f9234 | |
parent | 2bfa0cdfadd313f3cc35329a17ba3c62865208a3 (diff) | |
download | gdb-12c4bd7f53e9cefcf7c3a7f8cbf9e552526cb963.zip gdb-12c4bd7f53e9cefcf7c3a7f8cbf9e552526cb963.tar.gz gdb-12c4bd7f53e9cefcf7c3a7f8cbf9e552526cb963.tar.bz2 |
Handle FreeBSD-specific AT_EHDRFLAGS and AT_HWCAP auxiliary vector types.
FreeBSD recently added two additional ELF auxiliary vectors. FreeBSD's
AT_HWCAP uses a different number compared to AT_HWCAP on Linux as the
numerical value was already in use for a different vector on FreeBSD.
include/ChangeLog:
* elf/common.h (AT_FREEBSD_EHDRFLAGS, AT_FREEBSD_HWCAP): Define.
gdb/ChangeLog:
* fbsd-tdep.c (fbsd_print_auxv_entry): Handle AT_EHDRFLAGS and
AT_HWCAP.
-rw-r--r-- | gdb/ChangeLog | 5 | ||||
-rw-r--r-- | gdb/fbsd-tdep.c | 2 | ||||
-rw-r--r-- | include/ChangeLog | 4 | ||||
-rw-r--r-- | include/elf/common.h | 2 |
4 files changed, 13 insertions, 0 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog index d8d5772..2ffa23f 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,8 @@ +2017-10-05 John Baldwin <jhb@FreeBSD.org> + + * fbsd-tdep.c (fbsd_print_auxv_entry): Handle AT_EHDRFLAGS and + AT_HWCAP. + 2017-10-05 Tristan Gingold <tgingold@free.fr> * MAINTAINERS (Misc): Update my email address. diff --git a/gdb/fbsd-tdep.c b/gdb/fbsd-tdep.c index 727e28a..fa4cd91 100644 --- a/gdb/fbsd-tdep.c +++ b/gdb/fbsd-tdep.c @@ -392,6 +392,8 @@ fbsd_print_auxv_entry (struct gdbarch *gdbarch, struct ui_file *file, TAG (PAGESIZESLEN, _("Number of pagesizes"), AUXV_FORMAT_DEC); TAG (TIMEKEEP, _("Pointer to timehands"), AUXV_FORMAT_HEX); TAG (STACKPROT, _("Initial stack protection"), AUXV_FORMAT_HEX); + TAG (EHDRFLAGS, _("ELF header e_flags"), AUXV_FORMAT_HEX); + TAG (HWCAP, _("Machine-dependent CPU capability hints"), AUXV_FORMAT_HEX); default: default_print_auxv_entry (gdbarch, file, type, val); return; diff --git a/include/ChangeLog b/include/ChangeLog index 0ece8de..e1deb98 100644 --- a/include/ChangeLog +++ b/include/ChangeLog @@ -1,3 +1,7 @@ +2017-10-05 John Baldwin <jhb@FreeBSD.org> + + * elf/common.h (AT_FREEBSD_EHDRFLAGS, AT_FREEBSD_HWCAP): Define. + 2017-09-22 Alexandre Oliva <aoliva@redhat.com> * dwarf2.def (DW_AT_GNU_locviews): New. diff --git a/include/elf/common.h b/include/elf/common.h index d08731c..f89ab32 100644 --- a/include/elf/common.h +++ b/include/elf/common.h @@ -1144,6 +1144,8 @@ #define AT_FREEBSD_PAGESIZESLEN 21 /* Number of pagesizes. */ #define AT_FREEBSD_TIMEKEEP 22 /* Pointer to timehands. */ #define AT_FREEBSD_STACKPROT 23 /* Initial stack protection. */ +#define AT_FREEBSD_EHDRFLAGS 24 /* e_flags field from ELF header. */ +#define AT_FREEBSD_HWCAP 25 /* CPU feature flags. */ #define AT_SUN_UID 2000 /* Effective user ID. */ #define AT_SUN_RUID 2001 /* Real user ID. */ |