Support several new ELF auxiliary vector types on FreeBSD.
authorJohn Baldwin <jhb@FreeBSD.org>
Thu, 9 Jul 2020 16:39:05 +0000 (09:39 -0700)
committerJohn Baldwin <jhb@FreeBSD.org>
Thu, 9 Jul 2020 16:39:05 +0000 (09:39 -0700)
commitfc238d4a066cdb1a979475ffdf5bd45cdb8a00f0
tree1ffb5fb644d6a3124c3c02936e5d0f5ffdd380ca
parent939b95c77bf273b252a49334844c469bd28356a9
Support several new ELF auxiliary vector types on FreeBSD.

FreeBSD's kernel recently added several ELF auxiliary vector entries
to describe the arguments passed to new executable images during
exec().  The AT_FREEBSD_ARGC and AT_FREEBSD_ARGV entries give the
length and address of the process argument array.  AT_FREEBSD_ENVC and
AT_FREEBSD_ENVV entries give the length and address of the initial
process environment.  AT_FREEBSD_PS_STRINGS gives the address of the
'struct ps_strings' object.

include/ChangeLog:

* elf/common.h (AT_FREEBSD_ARGC, AT_FREEBSD_ARGV, AT_FREEBSD_ENVC)
(AT_FREEBSD_ENVV, AT_FREEBSD_PS_STRINGS): Define.

gdb/ChangeLog:

* fbsd-tdep.c (fbsd_print_auxv_entry): Handle AT_FREEBSD_ARGC,
AT_FREEBSD_ARGV, AT_FREEBSD_ENVC, AT_FREEBSD_ENVV,
AT_FREEBSD_PS_STRINGS.
gdb/ChangeLog
gdb/fbsd-tdep.c
include/ChangeLog
include/elf/common.h