From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 31733 invoked by alias); 29 Jun 2009 00:38:37 -0000 Received: (qmail 31722 invoked by uid 22791); 29 Jun 2009 00:38:36 -0000 X-SWARE-Spam-Status: No, hits=-1.4 required=5.0 tests=AWL,BAYES_00,J_CHICKENPOX_25,SARE_MSGID_LONG40,SPF_PASS X-Spam-Check-By: sourceware.org Received: from mail-px0-f177.google.com (HELO mail-px0-f177.google.com) (209.85.216.177) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Mon, 29 Jun 2009 00:38:28 +0000 Received: by pxi7 with SMTP id 7so271980pxi.12 for ; Sun, 28 Jun 2009 17:38:26 -0700 (PDT) MIME-Version: 1.0 Received: by 10.140.139.3 with SMTP id m3mr701571rvd.235.1246235906680; Sun, 28 Jun 2009 17:38:26 -0700 (PDT) In-Reply-To: <20090628210852.GA26015@caradoc.them.org> References: <4A466BAE.2010305@vmware.com> <200906272049.36692.pedro@codesourcery.com> <4A4687B2.2060907@vmware.com> <20090627211150.GA27691@caradoc.them.org> <4A47BA15.6020004@vmware.com> <20090628210852.GA26015@caradoc.them.org> Date: Mon, 29 Jun 2009 00:38:00 -0000 Message-ID: Subject: Re: [RFA] Patch to fix reverse return from subroutine error From: Hui Zhu To: Michael Snyder , Pedro Alves , "gdb-patches@sourceware.org" , Daniel Jacobowitz Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable X-IsSubscribed: yes Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org X-SW-Source: 2009-06/txt/msg00793.txt.bz2 Sorry for late everybody. Looks like we still have trouble with it,right? We have plan B for this issue. This is a old implement when p record still have reverse command inside it. This issue is because we don't know the frame_info of step_frame_id. Without it, we cannot get the frame_info of high level function with function get_prev_frame. Without frame_info, we cannot get the frame_id. Then we cannot make sure if this inferior return from subroutine. So we can save this prev_frame_id when we save step_frame_id in reverse mod= e. in step_once, frame =3D get_current_frame (); tp->step_frame_id =3D get_frame_id (frame); Update it to inferior_status. And update it in handle_inferior_event: ecs->event_thread->step_range_start =3D stop_pc_sal.pc; ecs->event_thread->step_range_end =3D stop_pc_sal.end; ecs->event_thread->step_frame_id =3D get_frame_id (frame); ecs->event_thread->current_line =3D stop_pc_sal.line; ecs->event_thread->current_symtab =3D stop_pc_sal.symtab; Then, we can use it to make sure if inferior return from subroutine or not. What do you think about it? Thanks, Hui On Mon, Jun 29, 2009 at 05:08, Daniel Jacobowitz wrote: > On Sun, Jun 28, 2009 at 11:44:37AM -0700, Michael Snyder wrote: >> Great, I looked up your paper, and found it helpful. >> Are your gdb patches available online? =A0Any head start >> would be a boon... > > I think I've posted them before, but I can't remember where. =A0A copy > is attached. =A0The epilogue bits are in patch-4. > > -- > Daniel Jacobowitz > CodeSourcery >