[PATCH 2/2] [gdb] Handle AT_HWCAP3/AT_HWCAP4 in default_print_auxv_entry

Simon Marchi simark@simark.ca
Fri Jan 16 17:16:15 GMT 2026



On 2026-01-16 08:27, Tom de Vries wrote:
> On aarch64-linux, I run into:
> ...
> (gdb) info auxv^M
>   ...
> 26   AT_HWCAP2            Extension of AT_HWCAP          0x181^M
> 29   ???                                                 0x0^M
> 31   AT_EXECFN            File name of executable        0xffffffffffb9 ...
>   ...
> 28   AT_RSEQ_ALIGN        rseq allocation alignment      32^M
> 0    AT_NULL              End of vector                  0x0^M
> (gdb) WARNING: Unrecognized tag value: 29 ... ??? ... 0x0^M
> FAIL: gdb.base/auxv.exp: info auxv on live process
> ...
> 
> Fix this by handling AT_HWCAP3 in default_print_auxv_entry.  Likewise for
> AT_HWCAP4.
> 
> Tested on aarch64-linux.
> 
> Bug: https://sourceware.org/bugzilla/show_bug.cgi?id=32590
> ---
>  gdb/auxv.c | 2 ++
>  1 file changed, 2 insertions(+)
> 
> diff --git a/gdb/auxv.c b/gdb/auxv.c
> index 368e0aa2c2b..59f38d3cf49 100644
> --- a/gdb/auxv.c
> +++ b/gdb/auxv.c
> @@ -497,6 +497,8 @@ default_print_auxv_entry (struct gdbarch *gdbarch, struct ui_file *file,
>  	   AUXV_FORMAT_STR);
>        TAG (AT_RANDOM, _("Address of 16 random bytes"), AUXV_FORMAT_HEX);
>        TAG (AT_HWCAP2, _("Extension of AT_HWCAP"), AUXV_FORMAT_HEX);
> +      TAG (AT_HWCAP3, _("Extension of AT_HWCAP"), AUXV_FORMAT_HEX);
> +      TAG (AT_HWCAP4, _("Extension of AT_HWCAP"), AUXV_FORMAT_HEX);
>        TAG (AT_RSEQ_FEATURE_SIZE, _("rseq supported feature size"),
>  	   AUXV_FORMAT_DEC);
>        TAG (AT_RSEQ_ALIGN, _("rseq allocation alignment"),

Approved-By: Simon Marchi <simon.marchi@efficios.com>

Random throught: it would be nice to print out a human-readable
interpretation of those HWCAP values.  It would have to be done in a
gdbarch-specific way.

Simon


More information about the Binutils mailing list