From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 29746 invoked by alias); 1 May 2003 20:54:40 -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 15451 invoked from network); 1 May 2003 18:39:37 -0000 Received: from unknown (HELO walton.kettenis.dyndns.org) (62.163.169.212) by sources.redhat.com with SMTP; 1 May 2003 18:39:37 -0000 Received: from elgar.kettenis.dyndns.org (elgar.kettenis.dyndns.org [192.168.0.2]) by walton.kettenis.dyndns.org (8.12.6/8.12.5) with ESMTP id h41IdRNv001440; Thu, 1 May 2003 20:39:27 +0200 (CEST) (envelope-from kettenis@elgar.kettenis.dyndns.org) Received: from elgar.kettenis.dyndns.org (localhost [127.0.0.1]) by elgar.kettenis.dyndns.org (8.12.6/8.12.6) with ESMTP id h41IdReC000327; Thu, 1 May 2003 20:39:27 +0200 (CEST) (envelope-from kettenis@elgar.kettenis.dyndns.org) Received: (from kettenis@localhost) by elgar.kettenis.dyndns.org (8.12.6/8.12.6/Submit) id h41IdPdc000324; Thu, 1 May 2003 20:39:25 +0200 (CEST) Date: Thu, 01 May 2003 20:54:00 -0000 Message-Id: <200305011839.h41IdPdc000324@elgar.kettenis.dyndns.org> From: Mark Kettenis To: ac131313@redhat.com CC: gdb-patches@sources.redhat.com In-reply-to: <3EADA9AC.8030607@redhat.com> (message from Andrew Cagney on Mon, 28 Apr 2003 18:22:36 -0400) Subject: Re: [i386newframe/PATCH] New i386newframe branch References: <200304191651.h3JGp1Kr004648@elgar.kettenis.dyndns.org> <3EADA9AC.8030607@redhat.com> X-SW-Source: 2003-05/txt/msg00005.txt.bz2 Date: Mon, 28 Apr 2003 18:22:36 -0400 From: Andrew Cagney > +static int > +i386_frameless_function_invocation (struct frame_info *frame) > { I'd consider deleting it. For non legacy architectures, apart from appending "(FRAMELESS)" to the output of "info frame", that architecture method does nothing useful (and even this is marginal :-). I think a per frame PRINT_EXTRA_FRAME_INFO like function would be more useful. Alternatively, a per-frame ``frameless'' attribute could be added. Sounds good to me! > +const struct frame_unwind * > +i386_frame_p (CORE_ADDR pc) > +{ > + char *name; > + > + find_pc_partial_function (pc, &name, NULL, NULL); > + if (PC_IN_SIGTRAMP (pc, name)) > + return &i386_sigtramp_frame_unwind; The intent was for there to be one predicate function per unwinder. So the below would be in a separate unwinder, registered separatly. And you want me to set the right example :-). No problem. > + return &i386_frame_unwind; > +} Have you tried adding just the sigtramp unwinder? I should get just that addition debugged regardless - it should make migrating other ISAs easier. No I haven't. I don't think I can. The problem is that I simplified the sigtramp unwinder a bit. However in order to do so, I need to be able to trust the normal unwinder to unwind the stack pointer correctly. Unfortunately the current code is a bit sloppy about this. Mark