From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 13437 invoked by alias); 2 Jul 2011 20:41:22 -0000 Received: (qmail 13414 invoked by uid 22791); 2 Jul 2011 20:41:22 -0000 X-SWARE-Spam-Status: No, hits=-2.8 required=5.0 tests=ALL_TRUSTED,AWL,BAYES_00 X-Spam-Check-By: sourceware.org Received: from localhost (HELO sourceware.org) (127.0.0.1) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Sat, 02 Jul 2011 20:41:09 +0000 From: "yuri at tsoft dot com" To: gdb-prs@sourceware.org Subject: [Bug gdb/12956] New: Watchpoint on invalid memory addressed is too slow, they should be 'pending' until allocated X-Bugzilla-Reason: CC X-Bugzilla-Type: new X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: gdb X-Bugzilla-Component: gdb X-Bugzilla-Keywords: X-Bugzilla-Severity: enhancement X-Bugzilla-Who: yuri at tsoft dot com X-Bugzilla-Status: NEW X-Bugzilla-Priority: P2 X-Bugzilla-Assigned-To: unassigned at sourceware dot org X-Bugzilla-Target-Milestone: --- X-Bugzilla-Changed-Fields: Message-ID: X-Bugzilla-URL: http://sourceware.org/bugzilla/ Auto-Submitted: auto-generated Content-Type: text/plain; charset="UTF-8" MIME-Version: 1.0 Date: Sat, 02 Jul 2011 20:41:00 -0000 Mailing-List: contact gdb-prs-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-prs-owner@sourceware.org X-SW-Source: 2011-q3/txt/msg00015.txt.bz2 http://sourceware.org/bugzilla/show_bug.cgi?id=12956 Summary: Watchpoint on invalid memory addressed is too slow, they should be 'pending' until allocated Product: gdb Version: 7.2 Status: NEW Severity: enhancement Priority: P2 Component: gdb AssignedTo: unassigned@sourceware.org ReportedBy: yuri@tsoft.com I am setting a watchpoint for the memory address that is not yet allocated. I am interested in what happens when it is allocated and later. 'watch' statement sets a software watchpoint, and program instantly becomes very slow. My guess is that gdb traces the program and checks if the memory is valid after each instruction. This is wrong. Since memory can only become valid after mmap or brk/sbrk calls, gdb should only trace those calls in such situation, which is a 'pending' state for a watchpoint. Once the memory address becomes valid, gdb should change status to hardware watchpoint. If the memory is deallocated again (with munmap or brk/sbrk calls) gdb should change state back to 'pending' and wait for the possible other allocations. -- Configure bugmail: http://sourceware.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.