From 121c73f33ac3a687cd7fba2b6711c308f715e44a Mon Sep 17 00:00:00 2001 From: Jan Kratochvil Date: Thu, 13 Sep 2012 17:35:35 +0000 Subject: [PATCH] gdb/doc/ * gdbint.texinfo (Defining Other Architecture Features): Clarify *pcptr encoding for gdbarch_breakpoint_from_pc, bp_addr for gdbarch_push_dummy_call and bp_addr for gdbarch_push_dummy_code. --- gdb/doc/ChangeLog | 7 +++++++ gdb/doc/gdbint.texinfo | 17 +++++++++++------ 2 files changed, 18 insertions(+), 6 deletions(-) diff --git a/gdb/doc/ChangeLog b/gdb/doc/ChangeLog index d6adef4c82..17ab90012a 100644 --- a/gdb/doc/ChangeLog +++ b/gdb/doc/ChangeLog @@ -1,3 +1,10 @@ +2012-09-13 Jan Kratochvil + Eli Zaretskii + + * gdbint.texinfo (Defining Other Architecture Features): Clarify *pcptr + encoding for gdbarch_breakpoint_from_pc, bp_addr for + gdbarch_push_dummy_call and bp_addr for gdbarch_push_dummy_code. + 2012-08-27 Jan Kratochvil * gdb.texinfo (objfile-gdb.py file): New paragraph for .exe stripping. diff --git a/gdb/doc/gdbint.texinfo b/gdb/doc/gdbint.texinfo index 07493194fd..34b0bec07d 100644 --- a/gdb/doc/gdbint.texinfo +++ b/gdb/doc/gdbint.texinfo @@ -4532,8 +4532,11 @@ contents and size of a breakpoint instruction. It returns a pointer to a static string of bytes that encode a breakpoint instruction, stores the length of the string to @code{*@var{lenptr}}, and adjusts the program counter (if necessary) to point to the actual memory location where the -breakpoint should be inserted. May return @code{NULL} to indicate that -software breakpoints are not supported. +breakpoint should be inserted. On input, the program counter +(@code{*@var{pcptr}} is the encoded inferior's PC register. If software +breakpoints are supported, the function sets this argument to the PC's +plain address. If software breakpoints are not supported, the function +returns NULL instead of the encoded breakpoint instruction. Although it is common to use a trap instruction for a breakpoint, it's not required; for instance, the bit pattern could be an invalid @@ -4813,7 +4816,7 @@ instead of value. @anchor{gdbarch_push_dummy_call} Define this to push the dummy frame's call to the inferior function onto the stack. In addition to pushing @var{nargs}, the code should push @var{struct_addr} (when @var{struct_return} is non-zero), and -the return address (@var{bp_addr}). +the return address (@var{bp_addr}, in inferior's PC register encoding). @var{function} is a pointer to a @code{struct value}; on architectures that use function descriptors, this contains the function descriptor value. @@ -4827,12 +4830,14 @@ instruction sequence (including space for a breakpoint) to which the called function should return. Set @var{bp_addr} to the address at which the breakpoint instruction -should be inserted, @var{real_pc} to the resume address when starting -the call sequence, and return the updated inner-most stack address. +should be inserted (in inferior's PC register encoding), @var{real_pc} to the +resume address when starting the call sequence, and return the updated +inner-most stack address. By default, the stack is grown sufficient to hold a frame-aligned (@pxref{frame_align}) breakpoint, @var{bp_addr} is set to the address -reserved for that breakpoint, and @var{real_pc} set to @var{funaddr}. +reserved for that breakpoint (in inferior's PC register encoding), and +@var{real_pc} set to @var{funaddr}. This method replaces @w{@code{gdbarch_call_dummy_location (@var{gdbarch})}}. -- 2.34.1