Add a new gdbarch method to print a single AUXV entry.
authorJohn Baldwin <jhb@FreeBSD.org>
Sat, 11 Jun 2016 22:51:38 +0000 (15:51 -0700)
committerJohn Baldwin <jhb@FreeBSD.org>
Fri, 24 Jun 2016 17:34:29 +0000 (10:34 -0700)
commit2faa34476d9e6120eaf389b7f91b7227183fa2ce
treed0bdcf321eebfbd385ee4f89df0785063c6078a6
parent3350c5f5de3d2e62dd9de2a76cf2d5d8728d2600
Add a new gdbarch method to print a single AUXV entry.

Different platforms have different meanings for auxiliary vector
entries.  The 'print_auxv_entry' gdbarch method allows an architecture
to output a suitable description for platform-specific entries.

A fprint_auxv_entry function is split out of fprint_target_auxv.
This function outputs the description of a single auxiliary vector
entry to the specified file using caller-supplied formatting and
strings to describe the vector type.

The existing switch on auxiliary vector types is moved out of
fprint_target_auxv into a new default_print_auxv_entry function.
default_print_auxv_entry chooses an appropriate format and description
and calls fprint_single_auxv to describe a single vector entry.
This function is used as the default 'print_auxv_entry' gdbarch method.

fprint_target_auxv now invokes the gdbarch 'print_auxv_entry' method
on each vector entry.

gdb/ChangeLog:

* auxv.c (fprint_auxv_entry): New function.
(default_print_auxv_entry): New function.
(fprint_target_auxv): Use gdbarch_print_auxv_entry.
* auxv.h (enum auxv_format): New enum.
(fprint_auxv_entry): Declare.
(default_print_auxv_entry): Declare.
* gdbarch.sh (print_auxv_entry): New.
* gdbarch.c, gdbarch.h: Re-generated.
gdb/ChangeLog
gdb/auxv.c
gdb/auxv.h
gdb/gdbarch.c
gdb/gdbarch.h
gdb/gdbarch.sh