From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 8373 invoked by alias); 11 Jun 2014 12:30:12 -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 8362 invoked by uid 89); 11 Jun 2014 12:30:11 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-2.7 required=5.0 tests=AWL,BAYES_00,RP_MATCHES_RCVD autolearn=ham version=3.3.2 X-HELO: mga03.intel.com Received: from mga03.intel.com (HELO mga03.intel.com) (143.182.124.21) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Wed, 11 Jun 2014 12:30:10 +0000 Received: from azsmga001.ch.intel.com ([10.2.17.19]) by azsmga101.ch.intel.com with ESMTP; 11 Jun 2014 05:30:08 -0700 X-ExtLoop1: 1 Received: from kboell-mobl2.ger.corp.intel.com (HELO [172.28.205.55]) ([172.28.205.55]) by azsmga001.ch.intel.com with ESMTP; 11 Jun 2014 05:30:06 -0700 Message-ID: <53984BCE.609@linux.intel.com> Date: Wed, 11 Jun 2014 12:30:00 -0000 From: Keven Boell User-Agent: Mozilla/5.0 (Windows NT 6.2; WOW64; rv:24.0) Gecko/20100101 Thunderbird/24.5.0 MIME-Version: 1.0 To: Tom Tromey , Keven Boell CC: gdb-patches@sourceware.org, sanimir.agovic@intel.com Subject: Re: [PATCH 01/23] dwarf: add dwarf3 DW_OP_push_object_address opcode References: <1401861266-6240-1-git-send-email-keven.boell@intel.com> <1401861266-6240-2-git-send-email-keven.boell@intel.com> <87fvjj5biw.fsf@fleche.redhat.com> In-Reply-To: <87fvjj5biw.fsf@fleche.redhat.com> Content-Type: text/plain; charset=ISO-8859-15 Content-Transfer-Encoding: 7bit X-IsSubscribed: yes X-SW-Source: 2014-06/txt/msg00446.txt.bz2 Hi Tom, I will set it to unimplemented for now like DW_OP_GNU_push_tls_address in the AX part as I think this is a project by its own to implement such support here. One needs to have more information for resolving a VLA's address using DW_OP_push_object_address as the dwarf2_compile_expr_to_ax and the callers of it seems to only have the variable location, which isn't enough as one needs the data location, the bounds and the stride to correctly resolve the address. Keven >>>>>> "Keven" == Keven Boell writes: > > Keven> The opcode pushes the address of the object being evaluated. The > Keven> semantic is equivalent to the implicit push of the base address > Keven> of a data member location. > > This looks good. > > However, normally if one updates the DWARF expression evaluator, one > should either try to update the DWARF->AX translator in dwarf2loc.c, or > provide some rationale explaining why it either can't be done or is > otherwise undesirable. In this case I think the translation seems > doable. See dwarf2_compile_expr_to_ax. There's also > dwarf2read.c:decode_locdesc, but it is hackier and more likely to be > ignorable. > > Tom >