* [PATCH] Add autoload-breakpoints [7/7] autoload-breakpoints doc
@ 2012-03-17 8:53 Hui Zhu
2012-03-17 10:45 ` Eli Zaretskii
2012-03-19 4:04 ` Yao Qi
0 siblings, 2 replies; 11+ messages in thread
From: Hui Zhu @ 2012-03-17 8:53 UTC (permalink / raw)
To: gdb-patches; +Cc: Stan Shebs
[-- Attachment #1: Type: text/plain, Size: 242 bytes --]
Hi,
This patch add the doc for the autoload-breakpoints.
Thanks,
Hui
2012-03-17 Hui Zhu <hui_zhu@mentor.com>
* gdb.texinfo (Setting Breakpoints): Add set breakpoint autoload.
(Remote Serial Protocol): Add Autoload-breakpoints Format.
[-- Attachment #2: autoload-breakpoints-doc.txt --]
[-- Type: text/plain, Size: 4453 bytes --]
---
doc/gdb.texinfo | 98 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 98 insertions(+)
--- a/doc/gdb.texinfo
+++ b/doc/gdb.texinfo
@@ -3741,6 +3741,31 @@ not support breakpoint condition evaluat
to evaluating all these conditions on the host's side.
@end table
+If the remote stub support, @value{GDBN} can get autoload-breakpoints from
+remote stub.
+
+This feature can be controlled via the following commands:
+
+@kindex set breakpoint autoload
+@kindex show breakpoint autoload
+@table @code
+@item set breakpoint autoload query
+If this option is query (the default), @value{GDBN} will query to user
+how to handle the autoload-breakpints when @value{GDBN} connect to the stub.
+
+@item set breakpoint autoload merge
+If this option is merge, the autoload-breakpoints of @value{GDBN}
+and stub will merge together when @value{GDBN} connect to stub.
+
+@item set breakpoint autoload gdb
+If this option is gdb, the autoload-breakpoints of stub will be removed
+when GDB connect to stub.
+
+@item set breakpoint autoload stub
+If this option is stub, the autoload-breakpoints of GDB will be removed
+when GDB connect to stub.
+@end table
+
@cindex negative breakpoint numbers
@cindex internal @value{GDBN} breakpoints
@@ -33578,6 +33603,7 @@ Show the current setting of the target w
* Memory Map Format::
* Thread List Format::
* Traceframe Info Format::
+* Autoload-breakpoints Format::
@end menu
@node Overview
@@ -38205,6 +38231,78 @@ The formal DTD for the traceframe info f
length CDATA #REQUIRED>
@end smallexample
+@node Autoload-breakpoints Format
+@section Autoload-breakpoints Format
+@cindex Autoload-breakpoints Format
+
+@subsection Autoload-breakpoints base format
+
+Autoload-breakpoints base format describe the operation of
+the autoload-breakpints in @value{GDBN} and the stub.
+
+@table @samp
+
+@item @var{id}@samp{:}@var{command}@samp{:}@var{addr_string}@samp{:}@var{type}@samp{:}@var{ignore_num}
+@cindex @var{id}@samp{:}@var{command}@samp{:}@var{addr_string}@samp{:}@var{type}@samp{:}@var{ignore_num} packet
+@table @samp
+@item @var{id}
+This is the id in hex string format of this command want to control.
+0 means all autoload-breakpoints.
+@item @var{command}
+This is command char. Include E (enable) and D (disable).
+If this autoload-breakpoint @var{id} is not exist, create one and
+enable or disable it. If it is exist, item follow it will be ignore
+and just disable and enable the autoload-breakpoints.
+@item @var{addr_string}
+If need create an autoload-breakpoint, this is the address string
+that encoded in hex string.
+@item @var{type}
+If need create an autoload-breakpoint, this is the type in char
+include H (hardware) and S (software).
+@item @var{ignore_num}
+If need create an autoload-breakpoint, this is the ignore_num in hex string.
+@end table
+
+@item @var{id}@samp{:}@samp{R}
+@cindex @var{id}@samp{:}@samp{R} packet
+This is the remove packet.
+@var{id} is the id in hex string format of this command want to remove.
+0 means all autoload-breakpoints.
+
+@item @var{id}@samp{:}@samp{C}@samp{:}@var{cmd_str}
+@cindex @var{id}@samp{:}@samp{C}@samp{:}@var{cmd_str} packet
+This packet add @var{cmd_str} to the commands list of
+autoload-breakpoint @var{id}. If @var{cmd_str} is empty,
+clear commands list of autoload-breakpoint @var{id}.
+@var{cmd_str} is encoded to hex string.
+
+@item @var{id}@samp{:}@samp{O}@samp{:}@var{condition_str}
+@cindex @var{id}@samp{:}@samp{O}@samp{:}@var{condition_str} packet
+This packet set @var{condition_str} as the condition of
+autoload-breakpoint @var{id}. If @var{condition_str} is empty,
+clear condition of autoload-breakpoint @var{id}.
+@var{condition_str} is encoded to hex string.
+
+@end table
+
+@subsection Autoload-breakpints request packets
+@table @samp
+@item qBfP
+@itemx qBsP
+These packets request data in autoload-breakpoints base format
+about autoload-breakpints from the stub.
+@value{GDBN} sends @code{qBfP} to get the first piece
+of data, and multiple @code{qTsP} to get additional pieces.
+@end table
+
+@subsection Autoload-breakpints control packets
+@table @samp
+@item @samp{QBDP}@var{autoload-breakpoints base format}
+@value{GDBN} and the stub use this packet to control
+the autoload-breakpoints in the remote. The stub will translate
+this packet through reportAsync Packets.
+@end table
+
@include agentexpr.texi
@node Target Descriptions
^ permalink raw reply [flat|nested] 11+ messages in thread* Re: [PATCH] Add autoload-breakpoints [7/7] autoload-breakpoints doc 2012-03-17 8:53 [PATCH] Add autoload-breakpoints [7/7] autoload-breakpoints doc Hui Zhu @ 2012-03-17 10:45 ` Eli Zaretskii 2012-03-20 15:42 ` Hui Zhu 2012-03-19 4:04 ` Yao Qi 1 sibling, 1 reply; 11+ messages in thread From: Eli Zaretskii @ 2012-03-17 10:45 UTC (permalink / raw) To: Hui Zhu; +Cc: gdb-patches, stan_shebs > Date: Sat, 17 Mar 2012 16:53:19 +0800 > From: Hui Zhu <hui_zhu@mentor.com> > CC: Stan Shebs <stan_shebs@mentor.com> > > This patch add the doc for the autoload-breakpoints. Thanks. > +If the remote stub support, @value{GDBN} can get autoload-breakpoints from > +remote stub. @value{GDBN} can receive the information about autoload-breakpoints from the remote stub, if the stub supports that. Also, as we don't mention autoload-breakpoints anywhere else in the manual, we need to explain here what these breakpoints are and why controlling them is useful. > +@item set breakpoint autoload query > +If this option is query (the default), @value{GDBN} will query to user ^^^^^ @samp{query} > +how to handle the autoload-breakpints when @value{GDBN} connect to the stub. ^^^^^^^^^^ ^^^^^^^ A typo. Also, "connects". > +@item set breakpoint autoload merge > +If this option is merge, the autoload-breakpoints of @value{GDBN} ^^^^^ @samp{merge} > +and stub will merge together when @value{GDBN} connect to stub. I don't understand what it means to "merge" breakpoints. > +@item set breakpoint autoload gdb > +If this option is gdb, the autoload-breakpoints of stub will be removed ^^^ @samp{gdb} > +when GDB connect to stub. ^^^ @value{GDBN} > +@item set breakpoint autoload stub > +If this option is stub, the autoload-breakpoints of GDB will be removed ^^^^ ^^^ @samp{stub} and @value{GDBN} > +@node Autoload-breakpoints Format > +@section Autoload-breakpoints Format > +@cindex Autoload-breakpoints Format > + > +@subsection Autoload-breakpoints base format Please don't add subsections without a node (and a menu in the parent section). Such subsections cannot be navigated with on-line Info commands. > +Autoload-breakpoints base format describe the operation of ^^^^^^^^ "describes" > +the autoload-breakpints in @value{GDBN} and the stub. ^^^^^^^^^^ A typo. Anyway, it sounds like this describes the format of the packet, not of autoload-breakpoints or something similar. Therefore, I think it should be part of the packet description, not a separate section and not in this place in the manual. > +@cindex @var{id}@samp{:}@var{command}@samp{:}@var{addr_string}@samp{:}@var{type}@samp{:}@var{ignore_num} packet This index entry is useless; please remove it. > +@table @samp > +@item @var{id} > +This is the id in hex string format of this command want to control. This is the number, as a hex string, of the autoload-breakpoint that this command wants to control. > +@item @var{command} > +This is command char. Include E (enable) and D (disable). This is the command character, either @samp{E} (for ``enable'') or @samp{D} (for ``disable''). > +If this autoload-breakpoint @var{id} is not exist, create one and > +enable or disable it. If the autoload-breakpoint @var{id} does not exist, create one and enable or disable it. > If it is exist, item follow it will be ignore > +and just disable and enable the autoload-breakpoints. If it does exist, the following items will be ignored, and the autoload-breakpoint will be enabled or disabled as specified by @var{command}. > +@item @var{addr_string} > +If need create an autoload-breakpoint, this is the address string > +that encoded in hex string. This is the address of an autoload-breakpoint to create, encoded as a hex string. > +@item @var{type} > +If need create an autoload-breakpoint, this is the type in char > +include H (hardware) and S (software). This is the type of the autoload-breakpoint to create, either @samp{H} (for ``hardware'') or @samp{S} (for ``software''). > +@item @var{ignore_num} > +If need create an autoload-breakpoint, this is the ignore_num in hex string. This is the ignore count of the autoload-breakpoint to create, encoded as a hex string. > +@item @var{id}@samp{:}@samp{R} > +@cindex @var{id}@samp{:}@samp{R} packet Please remove this @cindex entry, it is useless. > +@var{id} is the id in hex string format of this command want to remove. @var{id} is the number of the autoload-breakpoint that this command wants to remove, encoded as a hex string. > +@item @var{id}@samp{:}@samp{C}@samp{:}@var{cmd_str} > +@cindex @var{id}@samp{:}@samp{C}@samp{:}@var{cmd_str} packet No need for this @cindex. > +This packet add @var{cmd_str} to the commands list of > +autoload-breakpoint @var{id}. This packet adds commands in @var{cmd_list} to the command list of the autoload-breakpoint whose number is @var{id}. > If @var{cmd_str} is empty, > +clear commands list of autoload-breakpoint @var{id}. If @var{cmd_str} is empty, the command list will be emptied. > +@var{cmd_str} is encoded to hex string. ^^ "as" > +@item @var{id}@samp{:}@samp{O}@samp{:}@var{condition_str} > +@cindex @var{id}@samp{:}@samp{O}@samp{:}@var{condition_str} packet No need for this @cindex entry. > +This packet set @var{condition_str} as the condition of > +autoload-breakpoint @var{id}. This packet sets the condition of the autoload-breakpoint @var{id} to be as specified by @var{condition_str}. > If @var{condition_str} is empty, > +clear condition of autoload-breakpoint @var{id}. If @var{condition_str} is empty, the autoload-breakpoint becomes unconditional. > +@var{condition_str} is encoded to hex string. ^^ "as" > +@subsection Autoload-breakpints request packets > +@table @samp > +@item qBfP > +@itemx qBsP > +These packets request data in autoload-breakpoints base format > +about autoload-breakpints from the stub. > +@value{GDBN} sends @code{qBfP} to get the first piece > +of data, and multiple @code{qTsP} to get additional pieces. > +@end table > + > +@subsection Autoload-breakpints control packets > +@table @samp > +@item @samp{QBDP}@var{autoload-breakpoints base format} > +@value{GDBN} and the stub use this packet to control > +the autoload-breakpoints in the remote. The stub will translate > +this packet through reportAsync Packets. > +@end table No need to have a separate subsection for each packet. Also, I think you need to "connect the dots" by explaining the connection between these packets and the format described above. It is probably a good idea to start with the list of the packets and their short description, and then follow up with the description of their format. In sum, this documentation patch needs to be reworked. ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH] Add autoload-breakpoints [7/7] autoload-breakpoints doc 2012-03-17 10:45 ` Eli Zaretskii @ 2012-03-20 15:42 ` Hui Zhu 2012-03-20 17:36 ` Eli Zaretskii 0 siblings, 1 reply; 11+ messages in thread From: Hui Zhu @ 2012-03-20 15:42 UTC (permalink / raw) To: Eli Zaretskii; +Cc: gdb-patches, stan_shebs Hi Eli, Thanks for you review. On 03/17/12 18:43, Eli Zaretskii wrote: >> Date: Sat, 17 Mar 2012 16:53:19 +0800 >> From: Hui Zhu<hui_zhu@mentor.com> >> CC: Stan Shebs<stan_shebs@mentor.com> >> >> This patch add the doc for the autoload-breakpoints. > > Thanks. > >> +If the remote stub support, @value{GDBN} can get autoload-breakpoints from >> +remote stub. > > @value{GDBN} can receive the information about autoload-breakpoints > from the remote stub, if the stub supports that. > > Also, as we don't mention autoload-breakpoints anywhere else in the > manual, we need to explain here what these breakpoints are and why > controlling them is useful. What about: Some stub support set breakpoints with itself, with this function, GDB can handle the breakpoint that set by the stub better. > >> +@item set breakpoint autoload query >> +If this option is query (the default), @value{GDBN} will query to user > ^^^^^ > @samp{query} > >> +how to handle the autoload-breakpints when @value{GDBN} connect to the stub. > ^^^^^^^^^^ ^^^^^^^ > A typo. Also, "connects". > >> +@item set breakpoint autoload merge >> +If this option is merge, the autoload-breakpoints of @value{GDBN} > ^^^^^ > @samp{merge} > >> +and stub will merge together when @value{GDBN} connect to stub. > > I don't understand what it means to "merge" breakpoints. It means that merge together. Keep both the autoload-breakpoints in the GDB and the stub. > >> +@item set breakpoint autoload gdb >> +If this option is gdb, the autoload-breakpoints of stub will be removed > ^^^ > @samp{gdb} > >> +when GDB connect to stub. > ^^^ > @value{GDBN} > >> +@item set breakpoint autoload stub >> +If this option is stub, the autoload-breakpoints of GDB will be removed > ^^^^ ^^^ > @samp{stub} and @value{GDBN} > >> +@node Autoload-breakpoints Format >> +@section Autoload-breakpoints Format >> +@cindex Autoload-breakpoints Format >> + >> +@subsection Autoload-breakpoints base format > > Please don't add subsections without a node (and a menu in the parent > section). Such subsections cannot be navigated with on-line Info > commands. Should I change it to: @node Autoload-breakpoints base format @subsection Autoload-breakpoints base format @cindex Autoload-breakpoints base format > >> +Autoload-breakpoints base format describe the operation of > ^^^^^^^^ > "describes" > >> +the autoload-breakpints in @value{GDBN} and the stub. > ^^^^^^^^^^ > A typo. > > Anyway, it sounds like this describes the format of the packet, not of > autoload-breakpoints or something similar. Therefore, I think it > should be part of the packet description, not a separate section and > not in this place in the manual. > >> +@cindex @var{id}@samp{:}@var{command}@samp{:}@var{addr_string}@samp{:}@var{type}@samp{:}@var{ignore_num} packet > > This index entry is useless; please remove it. > >> +@table @samp >> +@item @var{id} >> +This is the id in hex string format of this command want to control. > > This is the number, as a hex string, of the autoload-breakpoint that > this command wants to control. > >> +@item @var{command} >> +This is command char. Include E (enable) and D (disable). > > This is the command character, either @samp{E} (for ``enable'') or > @samp{D} (for ``disable''). > >> +If this autoload-breakpoint @var{id} is not exist, create one and >> +enable or disable it. > > If the autoload-breakpoint @var{id} does not exist, create one and > enable or disable it. > >> If it is exist, item follow it will be ignore >> +and just disable and enable the autoload-breakpoints. > > If it does exist, the following items will be ignored, and the > autoload-breakpoint will be enabled or disabled as specified by > @var{command}. > >> +@item @var{addr_string} >> +If need create an autoload-breakpoint, this is the address string >> +that encoded in hex string. > > This is the address of an autoload-breakpoint to create, encoded as a > hex string. > >> +@item @var{type} >> +If need create an autoload-breakpoint, this is the type in char >> +include H (hardware) and S (software). > > This is the type of the autoload-breakpoint to create, either > @samp{H} (for ``hardware'') or @samp{S} (for ``software''). > >> +@item @var{ignore_num} >> +If need create an autoload-breakpoint, this is the ignore_num in hex string. > > This is the ignore count of the autoload-breakpoint to create, > encoded as a hex string. > >> +@item @var{id}@samp{:}@samp{R} >> +@cindex @var{id}@samp{:}@samp{R} packet > > Please remove this @cindex entry, it is useless. > >> +@var{id} is the id in hex string format of this command want to remove. > > @var{id} is the number of the autoload-breakpoint that this command > wants to remove, encoded as a hex string. > >> +@item @var{id}@samp{:}@samp{C}@samp{:}@var{cmd_str} >> +@cindex @var{id}@samp{:}@samp{C}@samp{:}@var{cmd_str} packet > > No need for this @cindex. > >> +This packet add @var{cmd_str} to the commands list of >> +autoload-breakpoint @var{id}. > > This packet adds commands in @var{cmd_list} to the command list of > the autoload-breakpoint whose number is @var{id}. > >> If @var{cmd_str} is empty, >> +clear commands list of autoload-breakpoint @var{id}. > > If @var{cmd_str} is empty, the command list will be emptied. > >> +@var{cmd_str} is encoded to hex string. > ^^ > "as" > >> +@item @var{id}@samp{:}@samp{O}@samp{:}@var{condition_str} >> +@cindex @var{id}@samp{:}@samp{O}@samp{:}@var{condition_str} packet > > No need for this @cindex entry. > >> +This packet set @var{condition_str} as the condition of >> +autoload-breakpoint @var{id}. > > This packet sets the condition of the autoload-breakpoint @var{id} to > be as specified by @var{condition_str}. > >> If @var{condition_str} is empty, >> +clear condition of autoload-breakpoint @var{id}. > > If @var{condition_str} is empty, the autoload-breakpoint becomes > unconditional. > >> +@var{condition_str} is encoded to hex string. > ^^ > "as" > >> +@subsection Autoload-breakpints request packets >> +@table @samp >> +@item qBfP >> +@itemx qBsP >> +These packets request data in autoload-breakpoints base format >> +about autoload-breakpints from the stub. >> +@value{GDBN} sends @code{qBfP} to get the first piece >> +of data, and multiple @code{qTsP} to get additional pieces. >> +@end table >> + >> +@subsection Autoload-breakpints control packets >> +@table @samp >> +@item @samp{QBDP}@var{autoload-breakpoints base format} >> +@value{GDBN} and the stub use this packet to control >> +the autoload-breakpoints in the remote. The stub will translate >> +this packet through reportAsync Packets. >> +@end table > > No need to have a separate subsection for each packet. > > Also, I think you need to "connect the dots" by explaining the > connection between these packets and the format described above. It > is probably a good idea to start with the list of the packets and > their short description, and then follow up with the description of > their format. > > In sum, this documentation patch needs to be reworked. OK. I will do it according to your comments. Thanks, Hui ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH] Add autoload-breakpoints [7/7] autoload-breakpoints doc 2012-03-20 15:42 ` Hui Zhu @ 2012-03-20 17:36 ` Eli Zaretskii 2012-03-21 10:57 ` Hui Zhu 0 siblings, 1 reply; 11+ messages in thread From: Eli Zaretskii @ 2012-03-20 17:36 UTC (permalink / raw) To: Hui Zhu; +Cc: gdb-patches, stan_shebs > Date: Tue, 20 Mar 2012 23:41:51 +0800 > From: Hui Zhu <hui_zhu@mentor.com> > CC: <gdb-patches@sourceware.org>, <stan_shebs@mentor.com> > > > @value{GDBN} can receive the information about autoload-breakpoints > > from the remote stub, if the stub supports that. > > > > Also, as we don't mention autoload-breakpoints anywhere else in the > > manual, we need to explain here what these breakpoints are and why > > controlling them is useful. > > What about: > Some stub support set breakpoints with itself, with this function, GDB > can handle the breakpoint that set by the stub better. I think we need to explain more. How about using what Yao wrote yesterday: Prior to GDB connects to remote stub, some breakpoints might have been already set in target, either by a prior GDB session or by the program itself through some special system API. When GDB connects to target, it should handle these existing breakpoints from remote stub. We call these breakpoints as "auotload breakpoints". The other use case we want to support in GDB is that inferior may delete/clear breakpoints on its own, and remote stub gets GDB notified, and GDB can take some actions accordingly. We believe such reliable report is useful to GDB, and generalize it, called "ReportAsync". The connection between "ReportAsync" and "autoload breakpoint" is when inferior/stub delete breakpoints, sends async report to GDB about removed breakpoints. If this is accurate, it just needs some rewording for it to be a good introduction to this topic. > >> +@item set breakpoint autoload merge > >> +If this option is merge, the autoload-breakpoints of @value{GDBN} > > ^^^^^ > > @samp{merge} > > > >> +and stub will merge together when @value{GDBN} connect to stub. > > > > I don't understand what it means to "merge" breakpoints. > > It means that merge together. Keep both the autoload-breakpoints in the > GDB and the stub. Then please don't use "merge", its normal meaning gets in the way. Instead, say this: the autoload-breakpoints of both @value{GDBN} and of the stub will be kept. > > Please don't add subsections without a node (and a menu in the parent > > section). Such subsections cannot be navigated with on-line Info > > commands. > > Should I change it to: > @node Autoload-breakpoints base format > @subsection Autoload-breakpoints base format > @cindex Autoload-breakpoints base format Yes, but (a) you also need a menu in the parent node, and (b) @cindex entries should always begin with a lower-case letter. > OK. I will do it according to your comments. Thank you. ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH] Add autoload-breakpoints [7/7] autoload-breakpoints doc 2012-03-20 17:36 ` Eli Zaretskii @ 2012-03-21 10:57 ` Hui Zhu 2012-03-24 13:58 ` Eli Zaretskii 0 siblings, 1 reply; 11+ messages in thread From: Hui Zhu @ 2012-03-21 10:57 UTC (permalink / raw) To: Eli Zaretskii; +Cc: gdb-patches, stan_shebs [-- Attachment #1: Type: text/plain, Size: 3054 bytes --] Hi Eli, I post a patch that updated according to your comments. Please help me review it. Thanks for your help. Best, Hui 2012-03-21 Hui Zhu <hui_zhu@mentor.com> * gdb.texinfo (Setting Breakpoints): Add set breakpoint autoload. (Remote Serial Protocol): Add Autoload-breakpoints Format. On 03/21/12 01:35, Eli Zaretskii wrote: >> Date: Tue, 20 Mar 2012 23:41:51 +0800 >> From: Hui Zhu<hui_zhu@mentor.com> >> CC:<gdb-patches@sourceware.org>,<stan_shebs@mentor.com> >> >>> @value{GDBN} can receive the information about autoload-breakpoints >>> from the remote stub, if the stub supports that. >>> >>> Also, as we don't mention autoload-breakpoints anywhere else in the >>> manual, we need to explain here what these breakpoints are and why >>> controlling them is useful. >> >> What about: >> Some stub support set breakpoints with itself, with this function, GDB >> can handle the breakpoint that set by the stub better. > > I think we need to explain more. How about using what Yao wrote > yesterday: > > Prior to GDB connects to remote stub, some breakpoints might have been > already set in target, either by a prior GDB session or by the program > itself through some special system API. When GDB connects to target, it > should handle these existing breakpoints from remote stub. We call > these breakpoints as "auotload breakpoints". > > The other use case we want to support in GDB is that inferior may > delete/clear breakpoints on its own, and remote stub gets GDB notified, > and GDB can take some actions accordingly. We believe such reliable > report is useful to GDB, and generalize it, called "ReportAsync". > > The connection between "ReportAsync" and "autoload breakpoint" is when > inferior/stub delete breakpoints, sends async report to GDB about > removed breakpoints. > > If this is accurate, it just needs some rewording for it to be a good > introduction to this topic. > >>>> +@item set breakpoint autoload merge >>>> +If this option is merge, the autoload-breakpoints of @value{GDBN} >>> ^^^^^ >>> @samp{merge} >>> >>>> +and stub will merge together when @value{GDBN} connect to stub. >>> >>> I don't understand what it means to "merge" breakpoints. >> >> It means that merge together. Keep both the autoload-breakpoints in the >> GDB and the stub. > > Then please don't use "merge", its normal meaning gets in the way. > Instead, say this: > > the autoload-breakpoints of both @value{GDBN} and of the stub will be > kept. > >>> Please don't add subsections without a node (and a menu in the parent >>> section). Such subsections cannot be navigated with on-line Info >>> commands. >> >> Should I change it to: >> @node Autoload-breakpoints base format >> @subsection Autoload-breakpoints base format >> @cindex Autoload-breakpoints base format > > Yes, but (a) you also need a menu in the parent node, and (b) @cindex > entries should always begin with a lower-case letter. > >> OK. I will do it according to your comments. > > Thank you. [-- Attachment #2: autoload-breakpoints-doc.txt --] [-- Type: text/plain, Size: 4977 bytes --] --- doc/gdb.texinfo | 107 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 107 insertions(+) --- a/doc/gdb.texinfo +++ b/doc/gdb.texinfo @@ -3761,6 +3761,44 @@ not support breakpoint condition evaluat to evaluating all these conditions on the host's side. @end table +Prior to @value{GDBN} connects to remote stub, some breakpoints might +have been already set in target, either by a prior GDB session or +by the program itself through some special system API. When @value{GDBN} +connects to target, it should handle these existing breakpoints from +remote stub. We call these breakpoints as "auotload-breakpoints". + +The other use case we want to support in @value{GDBN} is that inferior +may add/set/delete breakpoints on its own, and remote stub gets +@value{GDBN} notified, and @value{GDBN} can take some actions accordingly. +We believe such reliable report is useful to GDB, and generalize it, +called "ReportAsync". + +The connection between "ReportAsync" and "autoload-breakpoints" is when +inferior/stub add/set/delete breakpoints, sends async report to GDB about +added/set/removed breakpoints. + +This feature can be controlled via the following commands: + +@kindex set breakpoint autoload +@kindex show breakpoint autoload +@table @code +@item set breakpoint autoload query +If this option is @samp{query} (the default), @value{GDBN} will query to user +how to handle the autoload-breakpints when @value{GDBN} connect to the stub. + +@item set breakpoint autoload merge +If this option is @samp{merge}, the autoload-breakpoints of both @value{GDBN} +and of the stub will be kept. + +@item set breakpoint autoload gdb +If this option is @samp{gdb}, the autoload-breakpoints of stub will be removed +when @value{GDBN} connects to stub. + +@item set breakpoint autoload stub +If this option is @samp{stub}, the autoload-breakpoints of GDB will be removed +when @value{GDBN} connects to stub. +@end table + @cindex negative breakpoint numbers @cindex internal @value{GDBN} breakpoints @@ -33598,6 +33636,7 @@ Show the current setting of the target w * Memory Map Format:: * Thread List Format:: * Traceframe Info Format:: +* Autoload-breakpoints Format:: @end menu @node Overview @@ -38225,6 +38264,74 @@ The formal DTD for the traceframe info f length CDATA #REQUIRED> @end smallexample +@node Autoload-breakpoints Format +@section Autoload-breakpoints Format +@cindex Autoload-breakpoints Format + +@table @samp +@item qBfP +@itemx qBsP +These packets request data in autoload-breakpoints base format +about autoload-breakpints from the stub. +@value{GDBN} sends @code{qBfP} to get the first piece +of data, and multiple @code{qTsP} to get additional pieces. + +@item @samp{QBDP}@var{autoload-breakpoints base format} +@value{GDBN} and the stub use this packet to control +the autoload-breakpoints in the remote. The stub will translate +this packet through reportAsync Packets. +@end table + +Autoload-breakpoints base format describes the operation of +the autoload-breakpoints in @value{GDBN} and the stub. + +@table @samp + +@item @var{id}@samp{:}@var{command}@samp{:}@var{addr_string}@samp{:}@var{type}@samp{:}@var{ignore_num} +@table @samp +@item @var{id} +This is the id in hex string format of this command want to control. +this command wants to control. +0 means all autoload-breakpoints. +@item @var{command} +This is the command character, either @samp{E} (for ``enable'') or +@samp{D} (for ``disable''). +If the autoload-breakpoint @var{id} does not exist, create one and +enable or disable it. If it does exist, the following items will be +ignored, and the autoload-breakpoint will be enabled or disabled as +specified by @var{command}. +@item @var{addr_string} +This is the address of an autoload-breakpoint to create, encoded +as a hex string. +@item @var{type} +This is the type of the autoload-breakpoint to create, either +@samp{H} (for ``hardware'') or @samp{S} (for ``software''). +@item @var{ignore_num} +This is the ignore count of the autoload-breakpoint to create, +encoded as a hex string. +@end table + +@item @var{id}@samp{:}@samp{R} +This is the remove packet. +@var{id} is the number of the autoload-breakpoint that this command +wants to remove, encoded as a hex string. +0 means all autoload-breakpoints. + +@item @var{id}@samp{:}@samp{C}@samp{:}@var{cmd_str} +This packet adds commands in @var{cmd_list} to the command list +of the autoload-breakpoint whose number is @var{id}. +If @var{cmd_str} is empty, the command list will be emptied. +@var{cmd_str} is encoded as hex string. + +@item @var{id}@samp{:}@samp{O}@samp{:}@var{condition_str} +This packet sets the condition of the autoload-breakpoint @var{id} to +be as specified by @var{condition_str}. +If @var{condition_str} is empty, the autoload-breakpoint becomes +unconditional. +@var{condition_str} is encoded as hex string. + +@end table + @include agentexpr.texi @node Target Descriptions ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH] Add autoload-breakpoints [7/7] autoload-breakpoints doc 2012-03-21 10:57 ` Hui Zhu @ 2012-03-24 13:58 ` Eli Zaretskii 2012-03-26 2:16 ` Hui Zhu 0 siblings, 1 reply; 11+ messages in thread From: Eli Zaretskii @ 2012-03-24 13:58 UTC (permalink / raw) To: Hui Zhu; +Cc: gdb-patches, stan_shebs > Date: Wed, 21 Mar 2012 18:57:26 +0800 > From: Hui Zhu <hui_zhu@mentor.com> > CC: <gdb-patches@sourceware.org>, <stan_shebs@mentor.com> > > I post a patch that updated according to your comments. Please help me > review it. Below. > +Prior to @value{GDBN} connects to remote stub, some breakpoints might > +have been already set in target, either by a prior GDB session or ^^^ @value{GDBN} > +remote stub. We call these breakpoints as "auotload-breakpoints". ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ We call these breakpoints @dfn{auotload-breakpoints}. > +We believe such reliable report is useful to GDB, and generalize it, > +called "ReportAsync". We call these asynchronous reports about changes in the remote-side breakpoints @dfn{ReportAsync}. > +The connection between "ReportAsync" and "autoload-breakpoints" is when > +inferior/stub add/set/delete breakpoints, sends async report to GDB about > +added/set/removed breakpoints. This sentence adds nothing to what already has been said. Please remove it. > +how to handle the autoload-breakpints when @value{GDBN} connect to the stub. ^^^^^^^^^^ A typo. > +@cindex Autoload-breakpoints Format Lower-case "autoload" and "format", please. > +this packet through reportAsync Packets. ^^^^^^^^^^^ "ReportAsync", with a capital R. OK with these changes. Thanks. ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH] Add autoload-breakpoints [7/7] autoload-breakpoints doc 2012-03-24 13:58 ` Eli Zaretskii @ 2012-03-26 2:16 ` Hui Zhu 2012-03-31 6:01 ` Eli Zaretskii 0 siblings, 1 reply; 11+ messages in thread From: Hui Zhu @ 2012-03-26 2:16 UTC (permalink / raw) To: Eli Zaretskii; +Cc: gdb-patches, stan_shebs [-- Attachment #1: Type: text/plain, Size: 1848 bytes --] Hi Eli, Thanks for your review. On 03/24/12 21:57, Eli Zaretskii wrote: >> Date: Wed, 21 Mar 2012 18:57:26 +0800 >> From: Hui Zhu<hui_zhu@mentor.com> >> CC:<gdb-patches@sourceware.org>,<stan_shebs@mentor.com> >> >> I post a patch that updated according to your comments. Please help me >> review it. > > Below. > >> +Prior to @value{GDBN} connects to remote stub, some breakpoints might >> +have been already set in target, either by a prior GDB session or > ^^^ > @value{GDBN} > >> +remote stub. We call these breakpoints as "auotload-breakpoints". > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ > We call these breakpoints @dfn{auotload-breakpoints}. > >> +We believe such reliable report is useful to GDB, and generalize it, >> +called "ReportAsync". > > We call these asynchronous reports about changes in the remote-side > breakpoints @dfn{ReportAsync}. > >> +The connection between "ReportAsync" and "autoload-breakpoints" is when >> +inferior/stub add/set/delete breakpoints, sends async report to GDB about >> +added/set/removed breakpoints. > > This sentence adds nothing to what already has been said. Please > remove it. > >> +how to handle the autoload-breakpints when @value{GDBN} connect to the stub. > ^^^^^^^^^^ > A typo. > >> +@cindex Autoload-breakpoints Format > > Lower-case "autoload" and "format", please. > >> +this packet through reportAsync Packets. > ^^^^^^^^^^^ > "ReportAsync", with a capital R. > > OK with these changes. > > Thanks. I post a new version patch according to your comments. Best, Hui 2012-03-26 Hui Zhu <hui_zhu@mentor.com> * gdb.texinfo (Setting Breakpoints): Add set breakpoint autoload. (Remote Serial Protocol): Add Autoload-breakpoints Format. [-- Attachment #2: autoload-breakpoints-doc.txt --] [-- Type: text/plain, Size: 4806 bytes --] --- doc/gdb.texinfo | 103 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 103 insertions(+) --- a/doc/gdb.texinfo +++ b/doc/gdb.texinfo @@ -3761,6 +3761,40 @@ not support breakpoint condition evaluat to evaluating all these conditions on the host's side. @end table +Prior to @value{GDBN} connects to remote stub, some breakpoints might +have been already set in target, either by a prior @value{GDBN} session or +by the program itself through some special system API. When @value{GDBN} +connects to target, it should handle these existing breakpoints from +remote stub. We call these breakpoints @dfn{auotload-breakpoints}. + +The other use case we want to support in @value{GDBN} is that inferior +may add/set/delete breakpoints on its own, and remote stub gets +@value{GDBN} notified, and @value{GDBN} can take some actions accordingly. +We believe such reliable report is useful to GDB, and generalize it, +called "ReportAsync". + +This feature can be controlled via the following commands: + +@kindex set breakpoint autoload +@kindex show breakpoint autoload +@table @code +@item set breakpoint autoload query +If this option is @samp{query} (the default), @value{GDBN} will query to user +how to handle the autoload-breakpoints when @value{GDBN} connect to the stub. + +@item set breakpoint autoload merge +If this option is @samp{merge}, the autoload-breakpoints of both @value{GDBN} +and of the stub will be kept. + +@item set breakpoint autoload gdb +If this option is @samp{gdb}, the autoload-breakpoints of stub will be removed +when @value{GDBN} connects to stub. + +@item set breakpoint autoload stub +If this option is @samp{stub}, the autoload-breakpoints of GDB will be removed +when @value{GDBN} connects to stub. +@end table + @cindex negative breakpoint numbers @cindex internal @value{GDBN} breakpoints @@ -33671,6 +33705,7 @@ Show the current setting of the target w * Memory Map Format:: * Thread List Format:: * Traceframe Info Format:: +* Autoload-breakpoints Format:: @end menu @node Overview @@ -38296,6 +38331,74 @@ The formal DTD for the traceframe info f length CDATA #REQUIRED> @end smallexample +@node Autoload-breakpoints Format +@section Autoload-breakpoints Format +@cindex autoload-breakpoints format + +@table @samp +@item qBfP +@itemx qBsP +These packets request data in autoload-breakpoints base format +about autoload-breakpints from the stub. +@value{GDBN} sends @code{qBfP} to get the first piece +of data, and multiple @code{qTsP} to get additional pieces. + +@item @samp{QBDP}@var{autoload-breakpoints base format} +@value{GDBN} and the stub use this packet to control +the autoload-breakpoints in the remote. The stub will translate +this packet through ReportAsync Packets. +@end table + +Autoload-breakpoints base format describes the operation of +the autoload-breakpoints in @value{GDBN} and the stub. + +@table @samp + +@item @var{id}@samp{:}@var{command}@samp{:}@var{addr_string}@samp{:}@var{type}@samp{:}@var{ignore_num} +@table @samp +@item @var{id} +This is the id in hex string format of this command want to control. +this command wants to control. +0 means all autoload-breakpoints. +@item @var{command} +This is the command character, either @samp{E} (for ``enable'') or +@samp{D} (for ``disable''). +If the autoload-breakpoint @var{id} does not exist, create one and +enable or disable it. If it does exist, the following items will be +ignored, and the autoload-breakpoint will be enabled or disabled as +specified by @var{command}. +@item @var{addr_string} +This is the address of an autoload-breakpoint to create, encoded +as a hex string. +@item @var{type} +This is the type of the autoload-breakpoint to create, either +@samp{H} (for ``hardware'') or @samp{S} (for ``software''). +@item @var{ignore_num} +This is the ignore count of the autoload-breakpoint to create, +encoded as a hex string. +@end table + +@item @var{id}@samp{:}@samp{R} +This is the remove packet. +@var{id} is the number of the autoload-breakpoint that this command +wants to remove, encoded as a hex string. +0 means all autoload-breakpoints. + +@item @var{id}@samp{:}@samp{C}@samp{:}@var{cmd_str} +This packet adds commands in @var{cmd_list} to the command list +of the autoload-breakpoint whose number is @var{id}. +If @var{cmd_str} is empty, the command list will be emptied. +@var{cmd_str} is encoded as hex string. + +@item @var{id}@samp{:}@samp{O}@samp{:}@var{condition_str} +This packet sets the condition of the autoload-breakpoint @var{id} to +be as specified by @var{condition_str}. +If @var{condition_str} is empty, the autoload-breakpoint becomes +unconditional. +@var{condition_str} is encoded as hex string. + +@end table + @include agentexpr.texi @node Target Descriptions ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH] Add autoload-breakpoints [7/7] autoload-breakpoints doc 2012-03-26 2:16 ` Hui Zhu @ 2012-03-31 6:01 ` Eli Zaretskii 2012-04-02 9:15 ` Hui Zhu 0 siblings, 1 reply; 11+ messages in thread From: Eli Zaretskii @ 2012-03-31 6:01 UTC (permalink / raw) To: Hui Zhu; +Cc: gdb-patches, stan_shebs > Date: Mon, 26 Mar 2012 10:15:56 +0800 > From: Hui Zhu <hui_zhu@mentor.com> > CC: <gdb-patches@sourceware.org>, <stan_shebs@mentor.com> > > I post a new version patch according to your comments. You didn't fix this problem: > >> +We believe such reliable report is useful to GDB, and generalize it, > >> +called "ReportAsync". > > > > We call these asynchronous reports about changes in the remote-side > > breakpoints @dfn{ReportAsync}. Please fix it and then you can commit this documentation patch. Thanks. ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH] Add autoload-breakpoints [7/7] autoload-breakpoints doc 2012-03-31 6:01 ` Eli Zaretskii @ 2012-04-02 9:15 ` Hui Zhu 0 siblings, 0 replies; 11+ messages in thread From: Hui Zhu @ 2012-04-02 9:15 UTC (permalink / raw) To: Eli Zaretskii; +Cc: gdb-patches, stan_shebs [-- Attachment #1: Type: text/plain, Size: 832 bytes --] On 03/31/12 14:00, Eli Zaretskii wrote: >> Date: Mon, 26 Mar 2012 10:15:56 +0800 >> From: Hui Zhu<hui_zhu@mentor.com> >> CC:<gdb-patches@sourceware.org>,<stan_shebs@mentor.com> >> >> I post a new version patch according to your comments. > > You didn't fix this problem: > >>>> +We believe such reliable report is useful to GDB, and generalize it, >>>> +called "ReportAsync". >>> >>> We call these asynchronous reports about changes in the remote-side >>> breakpoints @dfn{ReportAsync}. > > Please fix it and then you can commit this documentation patch. > > Thanks. Thanks for your help. Post a new version patch according to your comments. Best, Hui 2012-04-02 Hui Zhu <hui_zhu@mentor.com> * gdb.texinfo (Setting Breakpoints): Add set breakpoint autoload. (Remote Serial Protocol): Add Autoload-breakpoints Format. [-- Attachment #2: autoload-breakpoints-doc.txt --] [-- Type: text/plain, Size: 4814 bytes --] --- doc/gdb.texinfo | 103 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 103 insertions(+) --- a/doc/gdb.texinfo +++ b/doc/gdb.texinfo @@ -3761,6 +3761,40 @@ not support breakpoint condition evaluat to evaluating all these conditions on the host's side. @end table +Prior to @value{GDBN} connects to remote stub, some breakpoints might +have been already set in target, either by a prior @value{GDBN} session or +by the program itself through some special system API. When @value{GDBN} +connects to target, it should handle these existing breakpoints from +remote stub. We call these breakpoints @dfn{auotload-breakpoints}. + +The other use case we want to support in @value{GDBN} is that inferior +may add/set/delete breakpoints on its own, and remote stub gets +@value{GDBN} notified, and @value{GDBN} can take some actions accordingly. +We call these asynchronous reports about changes in the remote-side +breakpoints @dfn{ReportAsync}. + +This feature can be controlled via the following commands: + +@kindex set breakpoint autoload +@kindex show breakpoint autoload +@table @code +@item set breakpoint autoload query +If this option is @samp{query} (the default), @value{GDBN} will query to user +how to handle the autoload-breakpoints when @value{GDBN} connect to the stub. + +@item set breakpoint autoload merge +If this option is @samp{merge}, the autoload-breakpoints of both @value{GDBN} +and of the stub will be kept. + +@item set breakpoint autoload gdb +If this option is @samp{gdb}, the autoload-breakpoints of stub will be removed +when @value{GDBN} connects to stub. + +@item set breakpoint autoload stub +If this option is @samp{stub}, the autoload-breakpoints of GDB will be removed +when @value{GDBN} connects to stub. +@end table + @cindex negative breakpoint numbers @cindex internal @value{GDBN} breakpoints @@ -33679,6 +33713,7 @@ Show the current setting of the target w * Memory Map Format:: * Thread List Format:: * Traceframe Info Format:: +* Autoload-breakpoints Format:: @end menu @node Overview @@ -38304,6 +38339,74 @@ The formal DTD for the traceframe info f length CDATA #REQUIRED> @end smallexample +@node Autoload-breakpoints Format +@section Autoload-breakpoints Format +@cindex autoload-breakpoints format + +@table @samp +@item qBfP +@itemx qBsP +These packets request data in autoload-breakpoints base format +about autoload-breakpints from the stub. +@value{GDBN} sends @code{qBfP} to get the first piece +of data, and multiple @code{qTsP} to get additional pieces. + +@item @samp{QBDP}@var{autoload-breakpoints base format} +@value{GDBN} and the stub use this packet to control +the autoload-breakpoints in the remote. The stub will translate +this packet through ReportAsync Packets. +@end table + +Autoload-breakpoints base format describes the operation of +the autoload-breakpoints in @value{GDBN} and the stub. + +@table @samp + +@item @var{id}@samp{:}@var{command}@samp{:}@var{addr_string}@samp{:}@var{type}@samp{:}@var{ignore_num} +@table @samp +@item @var{id} +This is the id in hex string format of this command want to control. +this command wants to control. +0 means all autoload-breakpoints. +@item @var{command} +This is the command character, either @samp{E} (for ``enable'') or +@samp{D} (for ``disable''). +If the autoload-breakpoint @var{id} does not exist, create one and +enable or disable it. If it does exist, the following items will be +ignored, and the autoload-breakpoint will be enabled or disabled as +specified by @var{command}. +@item @var{addr_string} +This is the address of an autoload-breakpoint to create, encoded +as a hex string. +@item @var{type} +This is the type of the autoload-breakpoint to create, either +@samp{H} (for ``hardware'') or @samp{S} (for ``software''). +@item @var{ignore_num} +This is the ignore count of the autoload-breakpoint to create, +encoded as a hex string. +@end table + +@item @var{id}@samp{:}@samp{R} +This is the remove packet. +@var{id} is the number of the autoload-breakpoint that this command +wants to remove, encoded as a hex string. +0 means all autoload-breakpoints. + +@item @var{id}@samp{:}@samp{C}@samp{:}@var{cmd_str} +This packet adds commands in @var{cmd_list} to the command list +of the autoload-breakpoint whose number is @var{id}. +If @var{cmd_str} is empty, the command list will be emptied. +@var{cmd_str} is encoded as hex string. + +@item @var{id}@samp{:}@samp{O}@samp{:}@var{condition_str} +This packet sets the condition of the autoload-breakpoint @var{id} to +be as specified by @var{condition_str}. +If @var{condition_str} is empty, the autoload-breakpoint becomes +unconditional. +@var{condition_str} is encoded as hex string. + +@end table + @include agentexpr.texi @node Target Descriptions ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH] Add autoload-breakpoints [7/7] autoload-breakpoints doc 2012-03-17 8:53 [PATCH] Add autoload-breakpoints [7/7] autoload-breakpoints doc Hui Zhu 2012-03-17 10:45 ` Eli Zaretskii @ 2012-03-19 4:04 ` Yao Qi 2012-03-20 15:47 ` Hui Zhu 1 sibling, 1 reply; 11+ messages in thread From: Yao Qi @ 2012-03-19 4:04 UTC (permalink / raw) To: Hui Zhu; +Cc: gdb-patches, Stan Shebs On 03/17/2012 04:53 PM, Hui Zhu wrote: > +@subsection Autoload-breakpints control packets > +@table @samp > +@item @samp{QBDP}@var{autoload-breakpoints base format} > +@value{GDBN} and the stub use this packet to control > +the autoload-breakpoints in the remote. The stub will translate > +this packet through reportAsync Packets. Do we document packet "^QBDP" in "@node ReportAsync Packets"? It is a different packet from "QBDP", although the syntax is almost the same. b.t.w, the name "^QBDP" doesn't reflect its functionality accurately. Literally, "Q{B|T}DP" means "download points", however, this async report "^QBDP" is about remote stub telling GDB that it has an autoload breakpoint in stream, please pick it up. So this packet should be named "^AutoloadBreak", or something similar. -- Yao (é½å°§) ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH] Add autoload-breakpoints [7/7] autoload-breakpoints doc 2012-03-19 4:04 ` Yao Qi @ 2012-03-20 15:47 ` Hui Zhu 0 siblings, 0 replies; 11+ messages in thread From: Hui Zhu @ 2012-03-20 15:47 UTC (permalink / raw) To: Yao Qi; +Cc: gdb-patches, Stan Shebs On 03/19/12 12:03, Yao Qi wrote: > On 03/17/2012 04:53 PM, Hui Zhu wrote: >> +@subsection Autoload-breakpints control packets >> +@table @samp >> +@item @samp{QBDP}@var{autoload-breakpoints base format} >> +@value{GDBN} and the stub use this packet to control >> +the autoload-breakpoints in the remote. The stub will translate >> +this packet through reportAsync Packets. > > Do we document packet "^QBDP" in "@node ReportAsync Packets"? It is a > different packet from "QBDP", although the syntax is almost the same. No, the QBDP is not need ^ now. It is translate through simple GDB rsp packet format now. > > b.t.w, the name "^QBDP" doesn't reflect its functionality accurately. > Literally, "Q{B|T}DP" means "download points", however, this async > report "^QBDP" is about remote stub telling GDB that it has an autoload > breakpoint in stream, please pick it up. So this packet should be named > "^AutoloadBreak", or something similar. It have download function too, both gdb to stub and stub to gdb use it. Thanks, Hui ^ permalink raw reply [flat|nested] 11+ messages in thread
end of thread, other threads:[~2012-04-02 9:15 UTC | newest] Thread overview: 11+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2012-03-17 8:53 [PATCH] Add autoload-breakpoints [7/7] autoload-breakpoints doc Hui Zhu 2012-03-17 10:45 ` Eli Zaretskii 2012-03-20 15:42 ` Hui Zhu 2012-03-20 17:36 ` Eli Zaretskii 2012-03-21 10:57 ` Hui Zhu 2012-03-24 13:58 ` Eli Zaretskii 2012-03-26 2:16 ` Hui Zhu 2012-03-31 6:01 ` Eli Zaretskii 2012-04-02 9:15 ` Hui Zhu 2012-03-19 4:04 ` Yao Qi 2012-03-20 15:47 ` Hui Zhu
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox