[RFA] Add qGetTLSAddr packet documentation to gdb.texinfo

Kevin Buettner kevinb@redhat.com
Mon Dec 6 21:31:00 GMT 2004


The patch below adds documentation for the qGetTLSAddr packet to
gdb.texinfo.  The text that this patch adds, stripped of markup, is
the same as that contained in the following proposal:

    http://sources.redhat.com/ml/gdb/2004-11/msg00189.html .

Eli has already approved this text for inclusion in the GDB manual. 
However, that text didn't contain the necessary markup, nor did it
indicate where it would be placed within the overall document.

Still okay?

	* gdb.texinfo (General Query Packets): Document qGetTLSAddr packet.

Index: doc/gdb.texinfo
===================================================================
RCS file: /cvs/src/src/gdb/doc/gdb.texinfo,v
retrieving revision 1.227
diff -u -p -r1.227 gdb.texinfo
--- doc/gdb.texinfo	23 Nov 2004 12:12:15 -0000	1.227
+++ doc/gdb.texinfo	6 Dec 2004 20:35:02 -0000
@@ -21071,6 +21071,40 @@ Requests of this form may be added in th
 not recognize the @var{object} keyword, or its support for
 @var{object} does not recognize the @var{operation} keyword,
 the stub must respond with an empty packet.
+
+@item @code{qGetTLSAddr}:@var{thread-id},@var{offset},@var{load-module-param-1},@dots,@var{load-module-param-N} --- get thread local storage address
+
+Fetch the address associated with thread local storage specified
+by @var{thread-id}, @var{offset}, and @var{load-module-param-1} thru @var{load-module-param-N}.
+
+@var{thread-id} is the (big endian, hex encoded) thread id associated with the
+thread for which to fetch the TLS address.
+
+@var{offset} is the (big endian, hex encoded) offset associated with the
+thread local variable.  (This offset is obtained from the debug
+information associated with the variable.)
+
+@var{load-module-param-1} thru @var{load-module-param-N} are (big endian, hex
+encoded) data which represent an OS/ABI specific encoding of the load
+module.  For example, a @sc{GNU}/Linux system will pass (as
+@var{load-module-param-1}) the link map address of the shared object
+associated with the thread local storage under consideration.  Other
+operating environments may require different data, so the precise
+meaning of these parameters will vary.
+
+Reply:
+@table @asis
+@item @var{XX@dots}
+Hex encoded (big endian) bytes representing the address of the thread
+local storage requested.
+
+@item @code{E}@var{nn} (where @var{nn} are hex digits)
+An error occurred.
+
+@item @code{""} (empty)
+    An empty reply indicates that @code{qGetTLSAddr} is not supported by the stub.
+@end table
+
 @end table
 
 @node Register Packet Format



More information about the Gdb-patches mailing list