From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 5829 invoked by alias); 12 Jul 2003 19:19:35 -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 5822 invoked from network); 12 Jul 2003 19:19:34 -0000 Received: from unknown (HELO concert.shout.net) (204.253.184.25) by sources.redhat.com with SMTP; 12 Jul 2003 19:19:34 -0000 Received: from duracef.shout.net (duracef.shout.net [204.253.184.12]) by concert.shout.net (8.12.9/8.12.9) with ESMTP id h6CJJXI4004437; Sat, 12 Jul 2003 14:19:33 -0500 Received: from duracef.shout.net (localhost [127.0.0.1]) by duracef.shout.net (8.12.9/8.12.9) with ESMTP id h6CJJXHK019044; Sat, 12 Jul 2003 14:19:33 -0500 Received: (from mec@localhost) by duracef.shout.net (8.12.9/8.12.9/Submit) id h6CJJXxo019043; Sat, 12 Jul 2003 15:19:33 -0400 Date: Sat, 12 Jul 2003 19:19:00 -0000 From: Michael Elizabeth Chastain Message-Id: <200307121919.h6CJJXxo019043@duracef.shout.net> To: ac131313@redhat.com, gdb-patches@sources.redhat.com Subject: Re: [patch, rfc, 6.0] Change frame predicates to sniffers X-SW-Source: 2003-07/txt/msg00257.txt.bz2 My test bed says: no regressions, no improvements. Tested on native i686-pc-linux-gnu, gcc v2 and v3 (several flavors of v3), -gdwarf-2 and -gstabs+. > Can anyone point me at testcases that will magically start passing with > this fixed? If you want test scripts, try: gdb.base/corefile.exp: backtrace in corefile.exp gdb.base/corefile.exp: print func2::coremaker_local gdb.mi/mi-syn-frame.exp: 407-stack-list-frames gdb.threads/pthreads.exp: check backtrace from main thread gdb.threads/pthreads.exp: apply backtrace command to all three threads gdb.threads/pthreads.exp: check backtrace from thread 2 Or download the attachments from pr gdb/1250, pr gdb/1253, and pr gdb/1255, and play with those. Michael C === 2003-07-11 Andrew Cagney * frame.c (get_frame_id): Use frame_unwind_find_by_frame. (frame_register_unwind, create_new_frame): Ditto. (legacy_get_prev_frame, get_frame_type): Ditto. (get_frame_base_address): Use frame_base_find_by_frame. (get_frame_locals_address): Use frame_base_find_by_frame. (get_frame_args_address): Use frame_base_find_by_frame. * frame-base.h (frame_base_sniffer_ftype): Declare. (frame_base_append_sniffer): Declare. (frame_base_find_by_frame): Replace frame_base_find_by_pc. * frame-base.c (append_predicate): Add a "sniffer" parameter. (frame_base_append_sniffer): New function. (frame_base_append_predicate): Add a NULL sniffer. (frame_base_find_by_frame): Replace "frame_base_find_by_pc". (struct frame_base_table): Add "sniffer". (frame_base_free): Free the "sniffer" table. * frame-unwind.h (frame_unwind_sniffer_ftype): Define. (frame_unwind_append_sniffer): Declare. (frame_unwind_find_by_frame): Replace frame_unwind_find_by_pc. * frame-unwind.c (frame_unwind_free): Free the "sniffer" table. (struct frame_unwind_table): Add "sniffer", delete "middle". (append_predicate): Add "sniffer" parameter, append the sniffer. (frame_unwind_init): Update append_predicate call. (frame_unwind_append_sniffer): New function. (frame_unwind_append_predicate): Update append_predicate call. (frame_unwind_find_by_frame): Replace frame_unwind_find_by_pc.