From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 19701 invoked by alias); 12 Aug 2013 12:15:44 -0000 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 Received: (qmail 19690 invoked by uid 89); 12 Aug 2013 12:15:44 -0000 X-Spam-SWARE-Status: No, score=-4.0 required=5.0 tests=AWL,BAYES_40,KHOP_RCVD_UNTRUST,RCVD_IN_DNSWL_MED,RCVD_IN_HOSTKARMA_W,RP_MATCHES_RCVD autolearn=ham version=3.3.2 Received: from mms1.broadcom.com (HELO mms1.broadcom.com) (216.31.210.17) by sourceware.org (qpsmtpd/0.84/v0.84-167-ge50287c) with ESMTP; Mon, 12 Aug 2013 12:15:43 +0000 Received: from [10.9.208.57] by mms1.broadcom.com with ESMTP (Broadcom SMTP Relay (Email Firewall v6.5)); Mon, 12 Aug 2013 05:11:38 -0700 X-Server-Uuid: 06151B78-6688-425E-9DE2-57CB27892261 Received: from IRVEXCHSMTP2.corp.ad.broadcom.com (10.9.207.52) by IRVEXCHCAS08.corp.ad.broadcom.com (10.9.208.57) with Microsoft SMTP Server (TLS) id 14.1.438.0; Mon, 12 Aug 2013 05:15:29 -0700 Received: from mail-irva-13.broadcom.com (10.10.10.20) by IRVEXCHSMTP2.corp.ad.broadcom.com (10.9.207.52) with Microsoft SMTP Server id 14.1.438.0; Mon, 12 Aug 2013 05:15:29 -0700 Received: from [10.177.73.61] (unknown [10.177.73.61]) by mail-irva-13.broadcom.com (Postfix) with ESMTP id 656E0F2D72 for ; Mon, 12 Aug 2013 05:15:29 -0700 (PDT) Message-ID: <5208D1DF.1090201@broadcom.com> Date: Mon, 12 Aug 2013 12:15:00 -0000 From: "Andrew Burgess" User-Agent: Mozilla/5.0 (Windows NT 6.1; rv:17.0) Gecko/20130801 Thunderbird/17.0.8 MIME-Version: 1.0 To: "gdb-patches@sourceware.org" Subject: [RFC 00/12] Merge value optimized_out and unavailable Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: 7bit X-SW-Source: 2013-08/txt/msg00300.txt.bz2 This patch set merges together how gdb handles values that are optimized out and values that are unavailable. I think that in most cases gdb should not care why the contents of a value are not fetch-able, it is only when we need to display something to the user that we should have to figure out was this optimized-out or unavailable? After this patch set there will be a single unified interface to ask if a value is available (either fully, partially, or for a range of bit/bytes), this will answer in terms of both optimized out and unavailable state. A second method will fetch the set of flags for the value optimized/unavailable, this will be used for printing the correct string. For the implementation I've moved away from the code we currently have for supporting partially optimized out values and consolidated on the unavailable vector. Currently within gdb there are places where we handle optimized out and unavailable differently, resulting in different style of output, and there are places where we handle one of optimized out or unavailable, but not the other. After this patch set it should (I hope) be much harder for either of these situations to arise. Looking forward to your feedback. Thanks, Andrew