From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 32738 invoked by alias); 24 Feb 2012 15:37:21 -0000 Received: (qmail 32643 invoked by uid 22791); 24 Feb 2012 15:37:20 -0000 X-SWARE-Spam-Status: No, hits=-6.6 required=5.0 tests=AWL,BAYES_00,RCVD_IN_DNSWL_HI,SPF_HELO_PASS,T_RP_MATCHES_RCVD X-Spam-Check-By: sourceware.org Received: from mx1.redhat.com (HELO mx1.redhat.com) (209.132.183.28) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Fri, 24 Feb 2012 15:37:06 +0000 Received: from int-mx02.intmail.prod.int.phx2.redhat.com (int-mx02.intmail.prod.int.phx2.redhat.com [10.5.11.12]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id q1OFb6Nx012986 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK) for ; Fri, 24 Feb 2012 10:37:06 -0500 Received: from host2.jankratochvil.net (ovpn-116-21.ams2.redhat.com [10.36.116.21]) by int-mx02.intmail.prod.int.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id q1OFb2PE032632 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES128-SHA bits=128 verify=NO); Fri, 24 Feb 2012 10:37:05 -0500 Date: Fri, 24 Feb 2012 15:41:00 -0000 From: Jan Kratochvil To: Pedro Alves Cc: gdb-patches@sourceware.org Subject: Re: [patch] Fix another stale frame_info * Message-ID: <20120224153702.GA20145@host2.jankratochvil.net> References: <20120223083743.GA5696@host2.jankratochvil.net> <4F47AC84.9080807@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <4F47AC84.9080807@redhat.com> User-Agent: Mutt/1.5.21 (2010-09-15) 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: 2012-02/txt/msg00575.txt.bz2 On Fri, 24 Feb 2012 16:28:04 +0100, Pedro Alves wrote: > Yeah. If we swap the order we do things, we can avoid needing this > bit. WDYT? It seems slightly cleaner to me. Tested on x86_64 Fedora 16. In general yes just this patch is not there yet. > --- a/gdb/breakpoint.c > +++ b/gdb/breakpoint.c [...] > if (frame_id_p (frame_unwind_caller_id (frame))) > { > - sal = find_pc_line (frame_unwind_caller_pc (frame), 0); > - sal.pc = frame_unwind_caller_pc (frame); > + struct symtab_and_line sal2; > + > + sal2 = find_pc_line (frame_unwind_caller_pc (frame), 0); > + sal2.pc = frame_unwind_caller_pc (frame); > breakpoint2 = set_momentary_breakpoint (frame_unwind_caller_arch (frame), > - sal, > + sal2, > frame_unwind_caller_id (frame), > bp_until); > make_cleanup_delete_breakpoint (breakpoint2); Here is still in the code: set_longjmp_breakpoint (tp, frame_unwind_caller_id (frame)); Thanks, Jan