diff options
author | Alan Hayward <alan.hayward@arm.com> | 2019-08-16 10:19:18 +0100 |
---|---|---|
committer | Alan Hayward <alan.hayward@arm.com> | 2019-08-16 10:19:18 +0100 |
commit | aa7ca1bb443e8c2baad17392f395d1556fecfafa (patch) | |
tree | a5a8006f5d93879956ad07a0a184bc657e0fc69e /gdb/doc | |
parent | fdfc8cf7f04e2f4d24ec9fff331ebd71a2e768a3 (diff) | |
download | gdb-aa7ca1bb443e8c2baad17392f395d1556fecfafa.zip gdb-aa7ca1bb443e8c2baad17392f395d1556fecfafa.tar.gz gdb-aa7ca1bb443e8c2baad17392f395d1556fecfafa.tar.bz2 |
Move [PAC] into a new MI field addr_flags
Add a new print_pc which prints both the PC and a new field addr_flags.
Call this wherever the PC is printed in stack.c.
Add a new gdbarch method get_pc_address_flags to obtain the addr_flag
contents. By default returns an empty string, on AArch64 this returns
PAC if the address has been masked in the frame.
Document this in the manual and NEWS file.
gdb/ChangeLog:
* NEWS (Other MI changes): New subsection.
* aarch64-tdep.c (aarch64_get_pc_address_flags): New function.
(aarch64_gdbarch_init): Add aarch64_get_pc_address_flags.
* arch-utils.c (default_get_pc_address_flags): New function.
* arch-utils.h (default_get_pc_address_flags): New declaration.
* gdbarch.sh: Add get_pc_address_flags.
* gdbarch.c: Regenerate.
* gdbarch.h: Likewise.
* stack.c (print_pc): New function.
(print_frame_info) (print_frame): Call print_pc.
gdb/doc/ChangeLog:
* gdb.texinfo (AArch64 Pointer Authentication)
(GDB/MI Breakpoint Information) (Frame Information): Document
addr_field.
Diffstat (limited to 'gdb/doc')
-rw-r--r-- | gdb/doc/ChangeLog | 6 | ||||
-rw-r--r-- | gdb/doc/gdb.texinfo | 18 |
2 files changed, 23 insertions, 1 deletions
diff --git a/gdb/doc/ChangeLog b/gdb/doc/ChangeLog index 971e9c3..339f337 100644 --- a/gdb/doc/ChangeLog +++ b/gdb/doc/ChangeLog @@ -1,3 +1,9 @@ +2019-08-16 Alan Hayward <alan.hayward@arm.com> + + * gdb.texinfo (AArch64 Pointer Authentication) + (GDB/MI Breakpoint Information) (Frame Information): Document + addr_field. + 2019-08-12 Tom Tromey <tom@tromey.com> * gdb.texinfo (Configure Options): Document minimum version of diff --git a/gdb/doc/gdb.texinfo b/gdb/doc/gdb.texinfo index 523e3d0..bcf0420 100644 --- a/gdb/doc/gdb.texinfo +++ b/gdb/doc/gdb.texinfo @@ -24397,7 +24397,8 @@ When @value{GDBN} is debugging the AArch64 architecture, and the program is using the v8.3-A feature Pointer Authentication (PAC), then whenever the link register @code{$lr} is pointing to an PAC function its value will be masked. When GDB prints a backtrace, any addresses that required unmasking will be -postfixed with the marker [PAC]. +postfixed with the marker [PAC]. When using the MI, this is printed as part +of the @code{addr_flags} field. @node i386 @subsection x86 Architecture-specific Issues @@ -28925,6 +28926,11 @@ breakpoint; or the string @samp{<MULTIPLE>}, for a breakpoint with multiple locations. This field will not be present if no address can be determined. For example, a watchpoint does not have an address. +@item addr_flags +Optional field containing any flags related to the address. These flags are +architecture-dependent; see @ref{Architectures} for their meaning for a +particular CPU. + @item func If known, the function in which the breakpoint appears. If not known, this field is not present. @@ -29025,6 +29031,11 @@ Note that this is not the same as the field @code{enable}. @item addr The address of this location as an hexidecimal number. +@item addr_flags +Optional field containing any flags related to the address. These flags are +architecture-dependent; see @ref{Architectures} for their meaning for a +particular CPU. + @item func If known, the function in which the location appears. If not known, this field is not present. @@ -29077,6 +29088,11 @@ be absent if @value{GDBN} is unable to determine the function name. @item addr The code address for the frame. This field is always present. +@item addr_flags +Optional field containing any flags related to the address. These flags are +architecture-dependent; see @ref{Architectures} for their meaning for a +particular CPU. + @item file The name of the source files that correspond to the frame's code address. This field may be absent. |