From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 5397 invoked by alias); 20 Aug 2002 19:55:44 -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 5390 invoked from network); 20 Aug 2002 19:55:43 -0000 Received: from unknown (HELO cygnus.com) (205.180.83.203) by sources.redhat.com with SMTP; 20 Aug 2002 19:55:43 -0000 Received: from redhat.com (reddwarf.sfbay.redhat.com [172.16.24.50]) by runyon.cygnus.com (8.8.7-cygnus/8.8.7) with ESMTP id MAA29747; Tue, 20 Aug 2002 12:50:10 -0700 (PDT) Message-ID: <3D629AB7.2ECE3374@redhat.com> Date: Tue, 20 Aug 2002 12:55:00 -0000 From: Michael Snyder Organization: Red Hat, Inc. X-Accept-Language: en MIME-Version: 1.0 To: Keith Seitz CC: gdb-patches@sources.redhat.com Subject: Re: [RFA] scope_breakpoint -> internal breakpoint References: Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit X-SW-Source: 2002-08/txt/msg00611.txt.bz2 Keith Seitz wrote: > > Hi, > > When a watchpoint is set on a local variable, GDB sets a breakpoint of > type bp_watchpoint_scope to detect when the watchpoint is out of scope. > > Right now, it does this using a "user-visible" breakpoint number (>0). > This patch changes this so that this internal breakpoint is created as an > internal breakpoint (<0). Section 5.1.2 of the user manual makes no > mention of this breakpoint, so I am suggesting that we make it one of the > optionally-displayed internal breakpoints. > > I've run this through the testsuite and it introduces no new failures. > > Keith Good idea -- approved. > > ChangeLog > 2002-08-20 Keith Seitz > > * breakpoints.c (watch_command_1): Use internal breakpoint > when setting a watchpoint_scope breakpoint. > > Patch > Index: breakpoint.c > =================================================================== > RCS file: /cvs/src/src/gdb/breakpoint.c,v > retrieving revision 1.80 > diff -p -r1.80 breakpoint.c > *** breakpoint.c 17 Aug 2002 06:12:52 -0000 1.80 > --- breakpoint.c 20 Aug 2002 18:19:42 -0000 > *************** watch_command_1 (char *arg, int accessfl > *** 5331,5346 **** > if (prev_frame) > { > struct breakpoint *scope_breakpoint; > ! struct symtab_and_line scope_sal; > ! > ! INIT_SAL (&scope_sal); /* initialize to zeroes */ > ! scope_sal.pc = get_frame_pc (prev_frame); > ! scope_sal.section = find_pc_overlay (scope_sal.pc); > ! > ! scope_breakpoint = set_raw_breakpoint (scope_sal, > ! bp_watchpoint_scope); > ! set_breakpoint_count (breakpoint_count + 1); > ! scope_breakpoint->number = breakpoint_count; > > scope_breakpoint->enable_state = bp_enabled; > > --- 5331,5338 ---- > if (prev_frame) > { > struct breakpoint *scope_breakpoint; > ! scope_breakpoint = create_internal_breakpoint (get_frame_pc (prev_frame), > ! bp_watchpoint_scope); > > scope_breakpoint->enable_state = bp_enabled; >