From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 14628 invoked by alias); 27 Mar 2003 21:37:18 -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 14609 invoked from network); 27 Mar 2003 21:37:17 -0000 Received: from unknown (HELO crack.them.org) (65.125.64.184) by sources.redhat.com with SMTP; 27 Mar 2003 21:37:17 -0000 Received: from nevyn.them.org ([66.93.61.169] ident=mail) by crack.them.org with asmtp (Exim 3.12 #1 (Debian)) id 18ygxH-0003Wd-00; Thu, 27 Mar 2003 17:38:44 -0600 Received: from drow by nevyn.them.org with local (Exim 3.36 #1 (Debian)) id 18yf3j-0004za-00; Thu, 27 Mar 2003 16:37:15 -0500 Date: Thu, 27 Mar 2003 21:37:00 -0000 From: Daniel Jacobowitz To: Andrew Cagney Cc: gdb@sources.redhat.com, Jim Blandy Subject: Re: [Fwd: Re: tdep/1155: s/390 Linux: GDB can't reselect the right frame after an inferior function call] Message-ID: <20030327213715.GA19131@nevyn.them.org> Mail-Followup-To: Andrew Cagney , gdb@sources.redhat.com, Jim Blandy References: <3E836DFA.2070603@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <3E836DFA.2070603@redhat.com> User-Agent: Mutt/1.5.1i X-SW-Source: 2003-03/txt/msg00379.txt.bz2 On Thu, Mar 27, 2003 at 04:32:42PM -0500, Andrew Cagney wrote: > There are two ways of handling bugs: > > a. the bug remains open until every last possible [un]related issue is > resolved > > b. the original bug, as filed, is closed, as soon as the original > problem is resolved. If additional problems or enhancements are > identified, they are recorded in new separate bug reports The original bug, as filed, said: If you ask GDB to make an inferior function call when the youngest frame is a frameless function, and the selected frame is the second-to-youngest frame, then GDB will not properly re-select the second-to-youngest frame when the inferior call returns. On the S/390, if a function doesn't use alloca, then the compiler just uses the stack pointer as the frame pointer. This means that GDB's frame_info structures use the address of the low end of the frame as the frame base, not the high end. (The S/390 stack grows downwards.) So, if the youngest function call hasn't allocated any stack space, then its frame base address is equal to that of its caller. This means that frame_find_by_id is unable to distinguish between the two. In what way do you see this problem as resolved? -- Daniel Jacobowitz MontaVista Software Debian GNU/Linux Developer