From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 23821 invoked by alias); 21 Feb 2012 16:05:13 -0000 Received: (qmail 23810 invoked by uid 22791); 21 Feb 2012 16:05:08 -0000 X-SWARE-Spam-Status: No, hits=-1.7 required=5.0 tests=AWL,BAYES_00,TW_NV X-Spam-Check-By: sourceware.org Received: from mel.act-europe.fr (HELO mel.act-europe.fr) (194.98.77.210) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Tue, 21 Feb 2012 16:04:28 +0000 Received: from localhost (localhost [127.0.0.1]) by filtered-smtp.eu.adacore.com (Postfix) with ESMTP id C1A5D290025; Tue, 21 Feb 2012 17:04:27 +0100 (CET) Received: from mel.act-europe.fr ([127.0.0.1]) by localhost (smtp.eu.adacore.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 1T7Mmo+tvZZy; Tue, 21 Feb 2012 17:04:27 +0100 (CET) Received: from ulanbator.act-europe.fr (ulanbator.act-europe.fr [10.10.1.67]) (using TLSv1 with cipher AES128-SHA (128/128 bits)) (No client certificate requested) by mel.act-europe.fr (Postfix) with ESMTP id AA689290081; Tue, 21 Feb 2012 17:04:27 +0100 (CET) Subject: Re: RFA: New port: ia64-hp-openvms (2/3) - v2 Mime-Version: 1.0 (Apple Message framework v1257) Content-Type: text/plain; charset=iso-8859-1 From: Tristan Gingold In-Reply-To: <4F3A9B63.5020809@redhat.com> Date: Tue, 21 Feb 2012 16:08:00 -0000 Cc: "gdb-patches@sourceware.org ml" , Rupp Douglas Content-Transfer-Encoding: quoted-printable Message-Id: <320D0E5F-A9C2-4C17-A032-1B50AE84F9AE@adacore.com> References: <6AD2487F-8409-4F4E-93A6-9DB7FD195E71@adacore.com> <4F3A9B63.5020809@redhat.com> To: Pedro Alves X-IsSubscribed: yes Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org X-SW-Source: 2012-02/txt/msg00434.txt.bz2 On Feb 14, 2012, at 6:35 PM, Pedro Alves wrote: > On 02/10/2012 01:22 PM, Tristan Gingold wrote: >>=20 >> 2012-02-10 Tristan Gingold >>=20 >> * target.h (target_object): Add TARGET_OBJECT_OPENVMS_UIB. >> * remote.c (PACKET_qXfer_uib): New enum value. >> (remote_protocol_features): Add entry for PACKET_qXfer_uib. >> (remote_xfer_partial): Handle TARGET_OBJECT_OPENVMS_UIB. >=20 > New packets need new documentation. There should be a > new call to add_packet_config_cmd call in _initialize_remote. Hi, here is the new version, with the call to add_packet_config_cmd and the doc= added. > And ... where's the code that actually reads this new object? [You have found it]. Thanks, Tristan. 2012-02-10 Tristan Gingold * target.h (target_object): Add TARGET_OBJECT_OPENVMS_UIB. * remote.c (PACKET_qXfer_uib): New enum value. (remote_protocol_features): Add entry for PACKET_qXfer_uib. (remote_xfer_partial): Handle TARGET_OBJECT_OPENVMS_UIB. (_initialize_remote): Call add_packet_config_cmd for xfer:uib packet. doc/ 2012-02-15 Tristan Gingold * gdb.texinfo (General Query Packets): Document xfer:uib. diff --git a/gdb/doc/gdb.texinfo b/gdb/doc/gdb.texinfo index 73779a7..29c539b 100644 --- a/gdb/doc/gdb.texinfo +++ b/gdb/doc/gdb.texinfo @@ -35063,6 +35063,11 @@ These are the currently defined stub features and = their properties: @tab @samp{-} @tab Yes =20 +@item @samp{qXfer:uib:read} +@tab No +@tab @samp{-} +@tab Yes + @item @samp{qXfer:fdpic:read} @tab No @tab @samp{-} @@ -35192,6 +35197,10 @@ The remote stub understands the @samp{qXfer:thread= s:read} packet The remote stub understands the @samp{qXfer:traceframe-info:read} packet (@pxref{qXfer traceframe info read}). =20 +@item qXfer:uib:read +The remote stub understands the @samp{qXfer:uib:read} +packet (@pxref{qXfer unwind info block}). + @item qXfer:fdpic:read The remote stub understands the @samp{qXfer:fdpic:read} packet (@pxref{qXfer fdpic loadmap read}). @@ -35479,6 +35488,14 @@ Return a description of the current traceframe's c= ontents. This packet is not probed by default; the remote stub must request it, by supplying an appropriate @samp{qSupported} response (@pxref{qSupported}= ). =20 +@item qXfer:uib:read:@var{pc}:@var{offset},@var{length} +@anchor{qXfer unwind info block} + +Return the unwind information block for @var{pc}. This packet is used +on OpenVMS/ia64 to ask the kernel unwind information. + +This packet is not probed by default. + @item qXfer:fdpic:read:@var{annex}:@var{offset},@var{length} @anchor{qXfer fdpic loadmap read} Read contents of @code{loadmap}s on the target system. The diff --git a/gdb/remote.c b/gdb/remote.c index 14c343b..5822376 100644 --- a/gdb/remote.c +++ b/gdb/remote.c @@ -1250,6 +1250,7 @@ enum { PACKET_qXfer_threads, PACKET_qXfer_statictrace_read, PACKET_qXfer_traceframe_info, + PACKET_qXfer_uib, PACKET_qGetTIBAddr, PACKET_qGetTLSAddr, PACKET_qSupported, @@ -3830,6 +3831,8 @@ static struct protocol_feature remote_protocol_featur= es[] =3D { remote_enable_disable_tracepoint_feature, -1 }, { "qXfer:fdpic:read", PACKET_DISABLE, remote_supported_packet, PACKET_qXfer_fdpic }, + { "qXfer:uib:read", PACKET_DISABLE, remote_supported_packet, + PACKET_qXfer_uib }, { "QDisableRandomization", PACKET_DISABLE, remote_supported_packet, PACKET_QDisableRandomization }, { "tracenz", PACKET_DISABLE, @@ -8426,6 +8429,11 @@ remote_xfer_partial (struct target_ops *ops, enum ta= rget_object object, case TARGET_OBJECT_FDPIC: return remote_read_qxfer (ops, "fdpic", annex, readbuf, offset, len, &remote_protocol_packets[PACKET_qXfer_fdpic]); + + case TARGET_OBJECT_OPENVMS_UIB: + return remote_read_qxfer (ops, "uib", annex, readbuf, offset, len, + &remote_protocol_packets[PACKET_qXfer_uib]); + default: return -1; } @@ -11217,6 +11225,9 @@ Show the maximum size of the address (in bits) in a= memory packet."), NULL, (&remote_protocol_packets[PACKET_qXfer_traceframe_info], "qXfer:trace-frame-info:read", "traceframe-info", 0); =20 + add_packet_config_cmd (&remote_protocol_packets[PACKET_qXfer_uib], + "qXfer:uib:read", "unwind-info-block", 0); + add_packet_config_cmd (&remote_protocol_packets[PACKET_qGetTLSAddr], "qGetTLSAddr", "get-thread-local-storage-address", 0); diff --git a/gdb/target.h b/gdb/target.h index d4605ae..5f642be 100644 --- a/gdb/target.h +++ b/gdb/target.h @@ -280,7 +280,9 @@ enum target_object /* Load maps for FDPIC systems. */ TARGET_OBJECT_FDPIC, /* Darwin dynamic linker info data. */ - TARGET_OBJECT_DARWIN_DYLD_INFO + TARGET_OBJECT_DARWIN_DYLD_INFO, + /* OpenVMS Unwind Information Block. */ + TARGET_OBJECT_OPENVMS_UIB /* Possible future objects: TARGET_OBJECT_FILE, ... */ }; =20