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.
This commit is contained in:
John Baldwin 2017-10-05 09:50:01 -07:00
parent 2bfa0cdfad
commit 12c4bd7f53
4 changed files with 13 additions and 0 deletions

View File

@ -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.

View File

@ -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;

View File

@ -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.

View File

@ -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. */