From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 13780 invoked by alias); 3 Mar 2003 11:52:58 -0000 Mailing-List: contact gdb-help@sources.redhat.com; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-owner@sources.redhat.com Received: (qmail 13773 invoked from network); 3 Mar 2003 11:52:57 -0000 Received: from unknown (HELO fw-maid.maidenhead.arm.com) (194.201.77.34) by 172.16.49.205 with SMTP; 3 Mar 2003 11:52:57 -0000 Received: by fw-maid.maidenhead.arm.com; id LAA19243; Mon, 3 Mar 2003 11:45:52 GMT Received: from unknown(192.168.2.10) by fw-maid.maidenhead.arm.com via smap (V5.0) id xma019064; Mon, 3 Mar 03 11:44:56 GMT Received: from mhpc6.arm.com (mhpc6 [192.168.2.53]) by mhsun1.maidenhead.arm.com (8.9.3/8.9.3) with ESMTP id LAA08674; Mon, 3 Mar 2003 11:51:58 GMT Message-Id: <4.3.2.7.2.20030303114307.023fb548@mhsun1.maidenhead.arm.com> X-Sender: kwalker@mhsun1.maidenhead.arm.com Date: Mon, 03 Mar 2003 11:52:00 -0000 To: Richard.Earnshaw@arm.com, Daniel Jacobowitz From: Keith Walker Subject: Re: 8-byte register values on a 32-bit machine Cc: Andrew Cagney , Mark Kettenis , brobecker@gnat.com, mec@shout.net, gdb@sources.redhat.com, Richard.Earnshaw@arm.com In-Reply-To: <200303031125.h23BPKW06819@pc960.cambridge.arm.com> References: Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii"; format=flowed X-SW-Source: 2003-03/txt/msg00046.txt.bz2 At 11:25 03/03/2003 +0000, Richard Earnshaw wrote: > > On Sat, Mar 01, 2003 at 06:42:58PM -0500, Andrew Cagney wrote: > > > > By the way, assuming I can find the time (ugh) I'm not done with > > LOC_COMPUTED yet. On my list so far: > > - Location lists > > - Turning locations into better defined objects > > - Thus, allowing LOC_COMPUTED to return a non-computed "location" > > - Allowing more complex locations, namely DW_OP_piece style. > > - Eventually turning on more uses of DW_OP_piece in GCC. > >The main reason gcc allocates objects to contiguous register ranges is >because gdb can't handle anything else. Fixing gdb to allow location >lists would be a major step forward, since then gcc would be able to split >double-register objects before register allocation and allocate each part >individually. That could be a major win on register starved machines. Actually it is the implementation of the DW_OP_piece operator (rather than location lists) which allows the location of an object to be split into multiple sub-locations. Location lists allows, for any given PC value, for you to describe zero (optimized out) or more locations for an object. These locations can then be broken down into sub-locations if the resulting expression evaluated then contains a DW_OP_piece operator. Keith