• R/O
  • HTTP
  • SSH
  • HTTPS

コミット

タグ
未設定

よく使われているワード(クリックで追加)

javac++androidlinuxc#windowsobjective-ccocoa誰得qtpythonphprubygameguibathyscaphec計画中(planning stage)翻訳omegatframeworktwitterdomtestvb.netdirectxゲームエンジンbtronarduinopreviewer

GNU Binutils with patches for OS216


コミットメタ情報

リビジョン37554d1e7bf15b8c0df23d9986799d17deaa3bd6 (tree)
日時2006-03-30 07:59:04
作者Jim Blandy <jimb@code...>
コミッターJim Blandy

ログメッセージ

Update based on Eli Zaretskii's suggestions:
- Fix reference to qPart packet description.
- Fix spacing in itemized lists and around examples in info.
- Rephrase explanation of how multi-annex descriptions are retrieved.
- Provide more detail on "SHA-1".

変更サマリ

差分

--- a/gdb/doc/gdb.texinfo
+++ b/gdb/doc/gdb.texinfo
@@ -23252,7 +23252,7 @@ Reply: see @code{remote.c:remote_unpack_thread_info_response()}.
2325223252 @item qPart:@var{object}:read:@var{annex}:@var{offset},@var{length}
2325323253 @cindex read special object, remote request
2325423254 @cindex @samp{qPart} packet
23255-@anchor{qPart request}
23255+@anchor{the qPart request}
2325623256 Read uninterpreted bytes from the target's special data area
2325723257 identified by the keyword @var{object}. Request @var{length} bytes
2325823258 starting at @var{offset} bytes into the data. The content and
@@ -24830,21 +24830,17 @@ architectures have hundreds of variants, available from dozens of
2483024830 vendors. This leads to a number of problems:
2483124831
2483224832 @itemize @bullet
24833-
2483424833 @item
2483524834 With so many different customized processors, it is difficult for
2483624835 the @value{GDBN} maintainers to keep up with the changes.
24837-
2483824836 @item
2483924837 Since individual variants may have short lifetimes or limited
2484024838 audiences, it may not be worthwhile to carry information about every
2484124839 variant in the @value{GDBN} source tree.
24842-
2484324840 @item
2484424841 When @value{GDBN} does support the architecture of the embedded system
2484524842 at hand, the task of finding the correct architecture name to give the
2484624843 @command{set architecture} command can be error-prone.
24847-
2484824844 @end itemize
2484924845
2485024846 To address these problems, the @value{GDBN} remote protocol allows a
@@ -24853,47 +24849,49 @@ actually describe its own features. This lets @value{GDBN} support
2485324849 processor variants it has never seen before --- to the extent that the
2485424850 descriptions are accurate, and that @value{GDBN} understands them.
2485524851
24856-
2485724852 @menu
24858-* Retrieving Self-Descriptions:: How descriptions are fetched from a
24859- target.
24853+* Retrieving Self-Descriptions:: How descriptions are fetched from a target.
2486024854 * Self-Description Format:: The contents of a self-description.
2486124855 @end menu
2486224856
2486324857 @node Retrieving Self-Descriptions
2486424858 @section Retrieving Self-Descriptions
2486524859
24866-@value{GDBN} retrieves a target's self-description via the remote
24867-protocol using a @code{qPart} request (@pxref{qPart request,, the
24868-@code{qPart} request}) of the form:
24860+A target can split its self-description into one or more pieces,
24861+called @dfn{annexes}. @value{GDBN} retrieves each annex via the
24862+remote protocol using @code{qPart} requests (@pxref{the qPart
24863+request}) of the form:
24864+
2486924865 @example
2487024866 qPart:features:read:@var{annex}:@var{offset},@var{length}
2487124867 @end example
24868+
2487224869 @noindent
24873-where @var{annex} is the string @samp{target.xml}. The @var{offset}
24874-and @var{length} parameters are the offset into the description and
24875-the number of bytes to transfer, as for other @code{qPart} requests.
24876-
24877-The @samp{target.xml} annex contains an XML document describing the
24878-target's features; its form is described in @ref{Self-Description
24879-Format}.
24880-
24881-Feature descriptions may be split into several annexes, which
24882-@value{GDBN} retrieves and assembles into a complete description. An
24883-annex may use @uref{http://www.w3.org/TR/xinclude/, XML Inclusions} to
24884-incorporate other annexes, much as a C header file refers to other
24885-headers using @code{#include}. @value{GDBN} first retrieves
24886-@samp{target.xml}, and then makes further @code{qPart} requests as
24887-needed to retrieve the annexes referred to by any @code{xi:include}
24888-elements it finds. Naturally, annexes brought in by @code{xi:include}
24889-may use @code{xi:include} themselves.
24870+where @var{annex} is the name of the annex, and the @var{offset} and
24871+@var{length} parameters are the offset into the description and the
24872+number of bytes to transfer, as for other @code{qPart} requests.
24873+
24874+To retrieve a target's self-description, @value{GDBN} first fetches
24875+the annex named @samp{target.xml}. This is an XML document, of the
24876+form described in @ref{Self-Description Format}. Just as C header
24877+files can refer to other header files using @code{#include}, target
24878+description annexes can use @uref{http://www.w3.org/TR/xinclude/, XML
24879+Inclusions} to incorporate other annexes. Starting with
24880+@samp{target.xml}, @value{GDBN} makes further @code{qPart} requests as
24881+needed to resolve all the inclusions and assemble the complete
24882+description.
2489024883
2489124884 To reduce protocol overhead, a target may supply a special annex named
24892-@samp{CHECKSUMS} that provides 160-bit SHA1 checksum values for the
24893-annexes it has available. The @samp{CHECKSUMS} annex contains a
24894-series of newline-terminated lines, each of which contains a 40-digit
24895-hexidecimal checksum, two spaces, and the name of an annex with the
24896-given checksum. Here is an example @samp{CHECKSUM} annex:
24885+@samp{CHECKSUMS} that provides 160-bit SHA-1@footnote{The SHA-1 hash
24886+function is defined in
24887+@uref{http://www.itl.nist.gov/fipspubs/fip180-1.htm, Federal
24888+Information Processing Standards Publication 180-1}. The GNU
24889+coreutils contain a Free implementation of SHA-1.} checksum values
24890+for the annexes it has available. The @samp{CHECKSUMS} annex contains
24891+a series of newline-terminated lines, each of which contains a
24892+40-digit hexidecimal checksum, two spaces, and the name of an annex
24893+with the given checksum. Here is an example @samp{CHECKSUMS} annex:
24894+
2489724895 @example
2489824896 68c94ffc34f8ad2d7bfae3f5a6b996409211c1b1 target.xml
2489924897 0e8e850b0580fbaaa0872326cb1b8ad6adda9b0d mmu.xml
@@ -24935,6 +24933,7 @@ be accessed via the remote protocol @code{g}, @code{G}, @code{p} and
2493524933 kinds of information, like memory maps.
2493624934
2493724935 Here is a simple sample target description:
24936+
2493824937 @example
2493924938 <?xml version="1.0"?>
2494024939 <!DOCTYPE target SYSTEM "gdb-target.dtd">
@@ -24949,11 +24948,14 @@ Here is a simple sample target description:
2494924948 </feature-set>
2495024949 </target>
2495124950 @end example
24951+
24952+@noindent
2495224953 This describes a simple target feature set which only contains two
2495324954 registers, named @code{s0} (a 32-bit integer register) and @code{s1}
2495424955 (a 32-bit floating point register).
2495524956
2495624957 A target description has the overall form:
24958+
2495724959 @example
2495824960 <?xml version="1.0"?>
2495924961 <!DOCTYPE target SYSTEM "gdb-target.dtd">
@@ -24962,6 +24964,7 @@ A target description has the overall form:
2496224964 @var{feature-set}
2496324965 </target>
2496424966 @end example
24967+
2496524968 @noindent
2496624969 The description is generally insensitive to whitespace and line
2496724970 breaks, under the usual common-sense rules. The ellipsis
@@ -24972,16 +24975,19 @@ Each @var{feature} names and describes a single feature of the target;
2497224975 at the moment, features can only describe register sets. The
2497324976 @var{feature-set} cites particular features by name, pulling together
2497424977 a complete description of the target. A @var{feature} has the form:
24978+
2497524979 @example
2497624980 <feature name="@var{name}">
2497724981 @var{reg}@dots{}
2497824982 </feature>
2497924983 @end example
24984+
2498024985 @noindent
2498124986 This defines a feature named @var{name}; each feature's name must be
2498224987 unique across the description.
2498324988
2498424989 Each @var{reg} has the form:
24990+
2498524991 @example
2498624992 <reg name="@var{name}"
2498724993 bitsize="@var{size}"
@@ -24991,6 +24997,7 @@ Each @var{reg} has the form:
2499124997 @r{[}type="@var{type}"@r{]}
2499224998 @r{[}group="@var{group}"@r{]}/>
2499324999 @end example
25000+
2499425001 @noindent
2499525002 Items in @r{[}brackets@r{]} are optional. The components are as follows:
2499625003
@@ -25033,16 +25040,21 @@ select a register group based on the register's type.
2503325040 A @var{feature-set} binds together a set of features to describe
2503425041 a complete target. There can be only one @var{feature-set} in a
2503525042 target. Each @var{feature-set} has the form:
25043+
2503625044 @example
2503725045 <feature-set>
2503825046 @var{feature-ref}@dots{}
2503925047 </feature-set>
2504025048 @end example
25049+
2504125050 @noindent
2504225051 where each @var{feature-ref} has the form:
25052+
2504325053 @example
2504425054 <feature-ref name="@var{name}" @r{[}base-regnum="@var{n}"@r{]}/>
2504525055 @end example
25056+
25057+@noindent
2504625058 This means that the target includes the feature named @var{name}. If
2504725059 the @code{base-regnum} is present, that means that registers in the
2504825060 given feature are numbered starting with @var{n}, until overridden by
@@ -25053,9 +25065,12 @@ several different annexes, either for organizational purposes, or to
2505325065 allow @value{GDBN} to cache portions of the description that change
2505425066 rarely. To make this possible, you can replace any feature
2505525067 description with an inclusion directive of the form:
25068+
2505625069 @example
2505725070 <xi:include href="@var{annex}"/>
2505825071 @end example
25072+
25073+@noindent
2505925074 When @value{GDBN} encounters an element of this form, it will retrieve
2506025075 the annex named @var{annex} (or use its cached copy), and replace the
2506125076 inclusion directive with the contents of that annex.