From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 126164 invoked by alias); 3 Aug 2018 18:36:40 -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 126147 invoked by uid 89); 3 Aug 2018 18:36:39 -0000 Authentication-Results: sourceware.org; auth=none X-Spam-SWARE-Status: No, score=-3.0 required=5.0 tests=AWL,BAYES_00,RCVD_IN_DNSWL_NONE,SPF_HELO_PASS autolearn=ham version=3.3.2 spammy=Hx-languages-length:1468, HX-HELO:sk:gateway, HX-Local-Domain:yes, died X-HELO: gateway32.websitewelcome.com Received: from gateway32.websitewelcome.com (HELO gateway32.websitewelcome.com) (192.185.144.98) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Fri, 03 Aug 2018 18:36:38 +0000 Received: from cm10.websitewelcome.com (cm10.websitewelcome.com [100.42.49.4]) by gateway32.websitewelcome.com (Postfix) with ESMTP id CD52932C12 for ; Fri, 3 Aug 2018 13:36:36 -0500 (CDT) Received: from box5379.bluehost.com ([162.241.216.53]) by cmsmtp with SMTP id lewGfT9YkBcCXlewGf4HOm; Fri, 03 Aug 2018 13:36:36 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=tromey.com; s=default; h=Content-Type:MIME-Version:Message-ID:In-Reply-To:Date: References:Subject:Cc:To:From:Sender:Reply-To:Content-Transfer-Encoding: Content-ID:Content-Description:Resent-Date:Resent-From:Resent-Sender: Resent-To:Resent-Cc:Resent-Message-ID:List-Id:List-Help:List-Unsubscribe: List-Subscribe:List-Post:List-Owner:List-Archive; bh=q1Bkbgi/5D/o+IEC6VnTY8uhFZeTqUc5hzUBNZ5MQ7U=; b=B8yrDtsQ9lyz4gb9+kI4AfGopp qHKY6gJcrE0jPLGTaLL/VTincOfkzrOoELIm5wWdYefMqgrX+C5aAV6m+S+0943o/+9Iu87WUPE93 PVtSCi8CqSh+fUHslW0BcD8GD; Received: from 75-166-85-72.hlrn.qwest.net ([75.166.85.72]:35364 helo=pokyo) by box5379.bluehost.com with esmtpsa (TLSv1.2:ECDHE-RSA-AES256-GCM-SHA384:256) (Exim 4.91) (envelope-from ) id 1flewG-001gve-Jk; Fri, 03 Aug 2018 13:36:36 -0500 From: Tom Tromey To: Kevin Buettner Cc: gdb-patches@sourceware.org Subject: Re: [PATCH 1/3] Add support for DW_OP_GNU_variable_value References: <20180802210405.5c04ca7a@pinnacle.lan> <20180802211754.40a529c2@pinnacle.lan> Date: Fri, 03 Aug 2018 18:36:00 -0000 In-Reply-To: <20180802211754.40a529c2@pinnacle.lan> (Kevin Buettner's message of "Thu, 2 Aug 2018 21:17:54 -0700") Message-ID: <87o9ej1emk.fsf@tromey.com> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.1.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-SW-Source: 2018-08/txt/msg00067.txt.bz2 >>>>> "Kevin" == Kevin Buettner writes: Kevin> This patch adds support for DW_OP_GNU_variable_value to GDB. Kevin> Jakub Jelinek provides a fairly expansive discussion of this DWARF Kevin> expression opcode in his GCC patch... Thank you for doing this. A few minor comments below. Kevin> I also have test case (later in this series) which uses the DWARF Kevin> assembler and, therefore, does not rely on having a compiler with this Kevin> support. Very nice. Kevin> + /* Execute "variable value" operation on DIED at SECT_OFF. */ I think that should probably read "... on the DIE at ...". Kevin> +struct value * Kevin> +sect_variable_value (struct dwarf_expr_context *ctx, sect_offset sect_off, Kevin> + struct dwarf2_per_cu_data *per_cu) A new function should have an introductory comment explaining the arguments, return value, and semantics. Kevin> @@ -3655,6 +3696,9 @@ dwarf2_compile_expr_to_ax (struct agent_expr *expr, struct axs_value *loc, Kevin> case DW_OP_call_ref: Kevin> unimplemented (op); Kevin> + case DW_OP_GNU_variable_value: Kevin> + unimplemented (op); Is it possible to implement this? Just curious, it doesn't seem super important to me. In fact, is it ever even useful in an agent expression? I think the patch should also update disassemble_dwarf_expression. It's an oddity that there are two DWARF disassembler in the tree, but not your problem :) Tom