This is the mail archive of the gdb-patches@sourceware.cygnus.com mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

RFA: list which remote protocol commands are required


I submit the enclosed patch for approval.  The existing documentation
labled some remote protocol commands as optional, while in fact most
commands are.  This patch removes the "optional" tag from the table
of commands, and explicitly lists the required commands.

        --jtc

2000-03-20  J.T. Conklin  <jtc@redback.com>

	* gdb.texinfo: Clarify which remote debug protocol commands are
 	required and which are optional.

Index: gdb.texinfo
===================================================================
RCS file: /cvs/src/src/gdb/doc/gdb.texinfo,v
retrieving revision 1.4
diff -c -r1.4 gdb.texinfo
*** gdb.texinfo	2000/03/20 22:51:36	1.4
--- gdb.texinfo	2000/03/21 03:59:16
***************
*** 8835,8840 ****
--- 8835,8844 ----
  protocol.  A newer @value{GDBN} can tell if a packet is supported based
  on that response.
  
+ A stub is required to support the @samp{g}, @samp{G}, @samp{m}, @samp{M}, 
+ @samp{c}, and @samp{s} @var{command}s.  All other @var{command}s are 
+ optional.
+ 
  Below is a complete list of all currently defined @var{command}s and
  their corresponding response @var{data}:
  
***************
*** 8843,8849 ****
  @tab Request
  @tab Description
  
! @item extended ops @emph{(optional)}
  @tab @code{!}
  @tab
  Use the extended remote protocol.  Sticky---only needs to be set once.
--- 8847,8853 ----
  @tab Request
  @tab Description
  
! @item extended ops
  @tab @code{!}
  @tab
  Use the extended remote protocol.  Sticky---only needs to be set once.
***************
*** 8869,8875 ****
  @tab @code{a}
  @tab Reserved for future use 
  
! @item set program arguments @strong{(reserved)} @emph{(optional)}
  @tab @code{A}@var{arglen}@code{,}@var{argnum}@code{,}@var{arg}@code{,...}
  @tab
  Initialized @samp{argv[]} array passed into program. @var{arglen}
--- 8873,8879 ----
  @tab @code{a}
  @tab Reserved for future use 
  
! @item set program arguments @strong{(reserved)}
  @tab @code{A}@var{arglen}@code{,}@var{argnum}@code{,}@var{arg}@code{,...}
  @tab
  Initialized @samp{argv[]} array passed into program. @var{arglen}
***************
*** 8909,8915 ****
  @tab reply
  @tab see below
  
! @item continue with signal @emph{(optional)}
  @tab @code{C}@var{sig}@code{;}@var{addr}
  @tab
  Continue with signal @var{sig} (hex signal number).  If
--- 8913,8919 ----
  @tab reply
  @tab see below
  
! @item continue with signal
  @tab @code{C}@var{sig}@code{;}@var{addr}
  @tab
  Continue with signal @var{sig} (hex signal number).  If
***************
*** 8923,8929 ****
  @tab
  toggle debug flag.
  
! @item detach @emph{(optional)}
  @tab @code{D}
  @tab
  Detach @value{GDBN} from the remote system.  Sent to the remote target before
--- 8927,8933 ----
  @tab
  toggle debug flag.
  
! @item detach
  @tab @code{D}
  @tab
  Detach @value{GDBN} from the remote system.  Sent to the remote target before
***************
*** 8980,8986 ****
  @tab @code{h}
  @tab Reserved for future use 
  
! @item set thread @emph{(optional)}
  @tab @code{H}@var{c}@var{t...}
  @tab
  Set thread for subsequent operations (@samp{m}, @samp{M}, @samp{g},
--- 8984,8990 ----
  @tab @code{h}
  @tab Reserved for future use 
  
! @item set thread 
  @tab @code{H}@var{c}@var{t...}
  @tab
  Set thread for subsequent operations (@samp{m}, @samp{M}, @samp{g},
***************
*** 9009,9022 ****
  @c                selected, sets the registers of the register block of
  @c                that thread; otherwise sets current registers.
  
! @item cycle step @strong{(draft)} @emph{(optional)}
  @tab @code{i}@var{addr}@code{,}@var{nnn}
  @tab
  Step the remote target by a single clock cycle.  If @code{,}@var{nnn} is
  present, cycle step @var{nnn} cycles.  If @var{addr} is present, cycle
  step starting at that address.
  
! @item signal then cycle step @strong{(reserved)} @emph{(optional)}
  @tab @code{I}
  @tab
  See @samp{i} and @samp{S} for likely syntax and semantics.
--- 9013,9026 ----
  @c                selected, sets the registers of the register block of
  @c                that thread; otherwise sets current registers.
  
! @item cycle step @strong{(draft)}
  @tab @code{i}@var{addr}@code{,}@var{nnn}
  @tab
  Step the remote target by a single clock cycle.  If @code{,}@var{nnn} is
  present, cycle step @var{nnn} cycles.  If @var{addr} is present, cycle
  step starting at that address.
  
! @item signal then cycle step @strong{(reserved)}
  @tab @code{I}
  @tab
  See @samp{i} and @samp{S} for likely syntax and semantics.
***************
*** 9029,9035 ****
  @tab @code{J}
  @tab Reserved for future use 
  
! @item kill request @emph{(optional)}
  @tab @code{k}
  @tab
  FIXME: @emph{There is no description of how operate when a specific
--- 9033,9039 ----
  @tab @code{J}
  @tab Reserved for future use 
  
! @item kill request
  @tab @code{k}
  @tab
  FIXME: @emph{There is no description of how operate when a specific
***************
*** 9099,9105 ****
  @tab return @var{r....}
  @tab The hex encoded value of the register in target byte order.
  
! @item write reg @emph{(optional)}
  @tab @code{P}@var{n...}@code{=}@var{r...}
  @tab
  Write register @var{n...} with value @var{r...}, which contains two hex
--- 9103,9109 ----
  @tab return @var{r....}
  @tab The hex encoded value of the register in target byte order.
  
! @item write reg
  @tab @code{P}@var{n...}@code{=}@var{r...}
  @tab
  Write register @var{n...} with value @var{r...}, which contains two hex
***************
*** 9111,9117 ****
  @tab reply @code{E}@var{NN}
  @tab for an error
  
! @item general query @emph{(optional)}
  @tab @code{q}@var{query}
  @tab
  Request info about @var{query}.  In general @value{GDBN} @var{query}'s
--- 9115,9121 ----
  @tab reply @code{E}@var{NN}
  @tab for an error
  
! @item general query
  @tab @code{q}@var{query}
  @tab
  Request info about @var{query}.  In general @value{GDBN} @var{query}'s
***************
*** 9129,9135 ****
  @tab reply @samp{}
  @tab Indicating an unrecognized @var{query}.
  
! @item general set @emph{(optional)}
  @tab @code{Q}@var{var}@code{=}@var{val}
  @tab
  Set value of @var{var} to @var{val}.  See @samp{q} for a discussing of
--- 9133,9139 ----
  @tab reply @samp{}
  @tab Indicating an unrecognized @var{query}.
  
! @item general set
  @tab @code{Q}@var{var}@code{=}@var{val}
  @tab
  Set value of @var{var} to @var{val}.  See @samp{q} for a discussing of
***************
*** 9140,9153 ****
  @tab
  Reset the entire system.
  
! @item remote restart @emph{(optional)}
  @tab @code{R}@var{XX}
  @tab
  Restart the remote server.  @var{XX} while needed has no clear
  definition.  FIXME: @emph{An example interaction explaining how this
  packet is used in extended-remote mode is needed}.
  
! @item step @emph{(optional)}
  @tab @code{s}@var{addr}
  @tab
  @var{addr} is address to resume.  If @var{addr} is omitted, resume at
--- 9144,9157 ----
  @tab
  Reset the entire system.
  
! @item remote restart
  @tab @code{R}@var{XX}
  @tab
  Restart the remote server.  @var{XX} while needed has no clear
  definition.  FIXME: @emph{An example interaction explaining how this
  packet is used in extended-remote mode is needed}.
  
! @item step
  @tab @code{s}@var{addr}
  @tab
  @var{addr} is address to resume.  If @var{addr} is omitted, resume at
***************
*** 9156,9162 ****
  @tab reply
  @tab see below
  
! @item step with signal @emph{(optional)}
  @tab @code{S}@var{sig}@code{;}@var{addr}
  @tab
  Like @samp{C} but step not continue.
--- 9160,9166 ----
  @tab reply
  @tab see below
  
! @item step with signal
  @tab @code{S}@var{sig}@code{;}@var{addr}
  @tab
  Like @samp{C} but step not continue.
***************
*** 9164,9177 ****
  @tab reply
  @tab see below
  
! @item search @emph{(optional)}
  @tab @code{t}@var{addr}@code{:}@var{PP}@code{,}@var{MM}
  @tab
  Search backwards starting at address @var{addr} for a match with pattern
  @var{PP} and mask @var{MM}.  @var{PP} and @var{MM} are 4
  bytes.  @var{addr} must be at least 3 digits.
  
! @item thread alive @emph{(optional)}
  @tab @code{T}@var{XX}
  @tab Find out if the thread XX is alive.
  @item
--- 9168,9181 ----
  @tab reply
  @tab see below
  
! @item search 
  @tab @code{t}@var{addr}@code{:}@var{PP}@code{,}@var{MM}
  @tab
  Search backwards starting at address @var{addr} for a match with pattern
  @var{PP} and mask @var{MM}.  @var{PP} and @var{MM} are 4
  bytes.  @var{addr} must be at least 3 digits.
  
! @item thread alive
  @tab @code{T}@var{XX}
  @tab Find out if the thread XX is alive.
  @item
***************
*** 9209,9215 ****
  @tab @code{x}
  @tab Reserved for future use 
  
! @item write mem (binary) @emph{(optional)}
  @tab @code{X}@var{addr}@code{,}@var{length}@var{:}@var{XX...}
  @tab
  @var{addr} is address, @var{length} is number of bytes, @var{XX...} is
--- 9213,9219 ----
  @tab @code{x}
  @tab Reserved for future use 
  
! @item write mem (binary)
  @tab @code{X}@var{addr}@code{,}@var{length}@var{:}@var{XX...}
  @tab
  @var{addr} is address, @var{length} is number of bytes, @var{XX...} is
***************
*** 9230,9241 ****
  @tab @code{Y}
  @tab Reserved for future use 
  
! @item remove break or watchpoint @strong{(draft)} @emph{(optional)}
  @tab @code{z}@var{t}@code{,}@var{addr}@code{,}@var{length}
  @tab
  See @samp{Z}.
  
! @item insert break or watchpoint @strong{(draft)} @emph{(optional)}
  @tab @code{Z}@var{t}@code{,}@var{addr}@code{,}@var{length}
  @tab
  @var{t} is type: @samp{0} - software breakpoint, @samp{1} - hardware
--- 9234,9245 ----
  @tab @code{Y}
  @tab Reserved for future use 
  
! @item remove break or watchpoint @strong{(draft)}
  @tab @code{z}@var{t}@code{,}@var{addr}@code{,}@var{length}
  @tab
  See @samp{Z}.
  
! @item insert break or watchpoint @strong{(draft)}
  @tab @code{Z}@var{t}@code{,}@var{addr}@code{,}@var{length}
  @tab
  @var{t} is type: @samp{0} - software breakpoint, @samp{1} - hardware


-- 
J.T. Conklin
RedBack Networks

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]