From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 32601 invoked by alias); 5 Nov 2004 22:44:52 -0000 Mailing-List: contact gdb-help@sources.redhat.com; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-owner@sources.redhat.com Received: (qmail 32589 invoked from network); 5 Nov 2004 22:44:50 -0000 Received: from unknown (HELO mx1.redhat.com) (66.187.233.31) by sourceware.org with SMTP; 5 Nov 2004 22:44:50 -0000 Received: from int-mx1.corp.redhat.com (int-mx1.corp.redhat.com [172.16.52.254]) by mx1.redhat.com (8.12.11/8.12.11) with ESMTP id iA5Minqn016678 for ; Fri, 5 Nov 2004 17:44:49 -0500 Received: from pobox.corp.redhat.com (pobox.corp.redhat.com [172.16.52.156]) by int-mx1.corp.redhat.com (8.11.6/8.11.6) with ESMTP id iA5Miir18277 for ; Fri, 5 Nov 2004 17:44:44 -0500 Received: from localhost.localdomain (vpn50-29.rdu.redhat.com [172.16.50.29]) by pobox.corp.redhat.com (8.12.8/8.12.8) with ESMTP id iA5MiiFg031162 for ; Fri, 5 Nov 2004 17:44:44 -0500 Received: from saguaro (saguaro.lan [192.168.64.2]) by localhost.localdomain (8.12.11/8.12.10) with SMTP id iA5Micab017858 for ; Fri, 5 Nov 2004 15:44:38 -0700 Date: Fri, 05 Nov 2004 22:44:00 -0000 From: Kevin Buettner To: gdb@sources.redhat.com Subject: Proposal: qGetTLSAddr remote protocol packet Message-Id: <20041105154438.7676aa13@saguaro> Organization: Red Hat Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit X-SW-Source: 2004-11/txt/msg00047.txt.bz2 Below is a proposal for a new remote protocol packet for fetching a thread local storage address. It is written it in a form (sans markup) that is compatible with the rest of the remote protocol documentation. Comments / suggestions? ------------------- qGetTLSAddr:thread-id:offset:other-param1:other-param2:...:other-paramN -- get thread local storage address Fetch the address associated with thread local storage specified by thread-id, offset, and other-param1 thru other-paramN. thread-id is the (big endian, hex encoded) thread id associated with the thread for which to fetch the TLS address. 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.) other-param1 .. other-paramN are (big endian, hex encoded) OS/ABI specific data required for fetching the TLS address. For example, a GNU/Linux system will pass (as other-param1) 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 fields will vary. Reply: XX... Hex encoded (big endian) bytes representing the address of the thread local storage requested. E01 The stub-side thread library does not have the required thread local storage support. E02 GDB sent a malformed qGetTLSAddr packet to the stub. E03 The stub was unable to find the thread associated with thread-id. E04 The stub-side thread library was unable to find the TLS address associated with thread-id, offset, and the OS/ABI specific parameters. Enn (where nn are hex digits and not specfied above) Some other error occurred. "" (empty) An empty reply indicates that qGetTLSAddr is not supported by the stub.