From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 3070 invoked by alias); 13 Apr 2003 15:54:13 -0000 Mailing-List: contact gdb-patches-help@sources.redhat.com; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sources.redhat.com Received: (qmail 3063 invoked from network); 13 Apr 2003 15:54:12 -0000 Received: from unknown (HELO crack.them.org) (65.125.64.184) by sources.redhat.com with SMTP; 13 Apr 2003 15:54:12 -0000 Received: from nevyn.them.org ([66.93.61.169] ident=mail) by crack.them.org with asmtp (Exim 3.12 #1 (Debian)) id 194joA-0002gv-00; Sun, 13 Apr 2003 10:54:18 -0500 Received: from drow by nevyn.them.org with local (Exim 3.36 #1 (Debian)) id 194jnx-0002iP-00; Sun, 13 Apr 2003 11:54:05 -0400 Date: Sun, 13 Apr 2003 15:54:00 -0000 From: Daniel Jacobowitz To: Elena Zannoni Cc: Michael Elizabeth Chastain , gdb-patches@sources.redhat.com Subject: Re: RFA/dwarf: Fix the GCC 2.95.3 store.exp regression for multi-register variables Message-ID: <20030413155405.GD27843@nevyn.them.org> Mail-Followup-To: Elena Zannoni , Michael Elizabeth Chastain , gdb-patches@sources.redhat.com References: <200304040641.h346fwf16003@duracef.shout.net> <16021.45705.984700.779084@localhost.redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <16021.45705.984700.779084@localhost.redhat.com> User-Agent: Mutt/1.5.1i X-SW-Source: 2003-04/txt/msg00266.txt.bz2 On Thu, Apr 10, 2003 at 02:06:01PM -0400, Elena Zannoni wrote: > Michael Elizabeth Chastain writes: > > My test bed says that this is okay. It fixes the regression in > > store.exp with gcc 2.95.3 -gdwarf-2 (gcc 2.95.3 is the only compiler > > that puts this particular struct into a register). And it doesn't > > have any regressions with any gcc v2 or v3, dwarf-2 or stabs+, > > on my native i686-pc-linux-gnu. > > > > I have another PR for this, gdb/1107, that comes with a source file > > and an executable file. With this patch, gdb HEAD changes from > > 'new bad behavior' back to 'same bad behavior as 5.3'. Specifically, > > I have a structure which is in %ebx and %esi. gdb 5.3 prints values > > from %ebx and %esp (the next register in 'info registers'). > > gdb HEAD prints %ebx and something from god knows where, and > > gdb HEAD + patch prints %ebx and %esp again. > > > > (I really hate it when gdb prints the wrong numbers!) > > > > With this patch gdb is better in the store.exp case and not any > > worse in the gdb/1107 case. What the heck, here's a table: > > > > store.exp gdb/1107 > > gdb 5.3 okay wrong > > gdb HEAD wrong wrong > > gdb HEAD + drow okay wrong > > > > So ... recommended for approval. If it goes in then we can maybe talk > > about gdb/1107 some more. > > > > Michael C > > Daniel did you check this in? Now I have. Thanks! > > === > > > > 2003-03-12 Daniel Jacobowitz > > > > * dwarf2expr.h (struct dwarf_expr_context): Remove extra arguments > > to read_reg and update its comment. Remove regnum member. > > * dwarf2expr.c (execute_stack_op): Remove memaddr and expr_lval. > > Don't call read_reg when setting in_reg. Call read_reg to get > > the frame base if it's in a register. Return the register number > > on the stack instead of in the context. Remove extra arguments > > to read_reg. > > * dwarf2loc.c (dwarf_expr_read_reg): Remove extra arguments. > > (dwarf2_evaluate_loc_desc): Call value_from_register. Expect > > the register number on the expression stack. > > (needs_frame_read_reg): Remove extra arguments. > -- Daniel Jacobowitz MontaVista Software Debian GNU/Linux Developer