From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 19753 invoked by alias); 16 Feb 2004 18:19:02 -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 19723 invoked from network); 16 Feb 2004 18:18:58 -0000 Received: from unknown (HELO miranda.se.axis.com) (193.13.178.2) by sources.redhat.com with SMTP; 16 Feb 2004 18:18:58 -0000 Received: from axis.com (ironmaiden.se.axis.com [10.13.8.120]) by miranda.se.axis.com (8.12.9/8.12.9/Debian-5local0.1) with ESMTP id i1GIIinI026512; Mon, 16 Feb 2004 19:18:44 +0100 Message-ID: <40310984.5050201@axis.com> Date: Mon, 16 Feb 2004 18:19:00 -0000 From: Orjan Friberg Organization: Axis Communications User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.5) Gecko/20031007 MIME-Version: 1.0 To: gdb-patches@sources.redhat.com CC: Andrew Cagney Subject: Re: CRIS port; frame cleanup crash References: <3F392591.4050409@redhat.com> <402BCCF2.601@axis.com> <402BDCDF.5040506@gnu.org> <402E24DC.8060006@axis.com> <402E3612.50001@gnu.org> In-Reply-To: <402E3612.50001@gnu.org> Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit X-SW-Source: 2004-02/txt/msg00416.txt.bz2 Andrew Cagney wrote: > > And callfuncs.exp, and a sequence like: > > ./gdb callfuncs > (gdb) break add > (gdb) break main > (gdb) run > (gdb) print add(1,2) > (gdb) bt > (gdb) print add(3,4) > (gdb) bt > add(3,4) > > add (1,2) > > main () > (gdb) > > is a good check of dummy frames Ok, backtrace doesn't work at all. (find_dummy_frame() isn't able to locate the dummy frame because fp doesn't match dummyframe->top.) A couple of questions regarding this: frame_align(): this function is only concerned with architecture issues, and not ABI issues, right? What I mean is that we're not mimicking anything the compiler would do the way we do when we set up arguments for a function call. If the architecture has no alignment restrictions on the stack, then we shouldn't have to do any stack alignment, although the compiler might align it for performance reasons. push_dummy_call(): the CRIS code allocates more space on the stack than is actually needed; is this going to cause me problems? Since, as I understand it, the SP returned from push_dummy_call() must match the SP unwound when unwinding the dummy id I'm thinking I'll either have to get rid of the over-allocation on the stack (preferred) or compensate for it when unwinding the dummy id. Is this correct? FWIW, everything up to and including the cmp10(...) test in callfuncs.exp works, so at least the argument setup seems ok. Thanks, Orjan -- Orjan Friberg Axis Communications