From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 5918 invoked by alias); 6 Mar 2007 23:53:19 -0000 Received: (qmail 5907 invoked by uid 22791); 6 Mar 2007 23:53:18 -0000 X-Spam-Check-By: sourceware.org Received: from intrepid.intrepid.com (HELO intrepid.intrepid.com) (192.195.190.1) by sourceware.org (qpsmtpd/0.31) with ESMTP; Tue, 06 Mar 2007 23:53:08 +0000 Received: from winnie ([192.195.190.51]) by intrepid.intrepid.com (8.13.8/8.13.8) with ESMTP id l26Nr70j010496 for ; Tue, 6 Mar 2007 15:53:07 -0800 Message-Id: <200703062353.l26Nr70j010496@intrepid.intrepid.com> From: "Gary Funck" To: Subject: DWARF3 DW_OP_push_object_address - requirement for deferred evaluation? Date: Tue, 06 Mar 2007 23:53:00 -0000 MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit X-Mailer: Microsoft Office Outlook, Build 11.0.5510 In-Reply-To: <20070306161211.GA3341@caradoc.them.org> X-IsSubscribed: yes Mailing-List: contact gdb-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-owner@sourceware.org X-SW-Source: 2007-03/txt/msg00107.txt.bz2 Daniel Jacobowitz replied: > On Tue, Mar 06, 2007 at 07:49:02AM -0800, Gary Funck wrote: > > I may have a need to use DW_OP_push_object_address. > > Has any work been done in GDB to support some or all > > of the DWARF3 functionality? > > Yes - some, but not that particular bit [support for DW_OP_push_object_address]. > It should not be at all hard. It's a bit complicated by the fact > that GDB sometimes implicitly pushes the object address, though. Is decode_locdesc() (in dwarf2read.c) the only routine that evaluates location descriptions? Would you please elaborate on your statement that "GDB sometimes implicitly pushes the object address"? Given that DW_OP_push_object_address was introduced in DWARF3 to provide support for objects and data that are described by "dope vectors", for which their address and other characteristics such as array bounds are not known until runtime .... is the case that the evaluation of a descriptor utilizing DW_OP_push_object_address must be deferred until either the referenced object is instantiated, or the GDB user makes reference to the object? If this is the case, it didn't appear to me that GDB currently has a mechanism for delaying the binding of address information that is required to reference a variable. Or perhaps I missed something?