From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 20312 invoked by alias); 7 Jul 2010 20:37:11 -0000 Received: (qmail 20302 invoked by uid 22791); 7 Jul 2010 20:37:10 -0000 X-SWARE-Spam-Status: No, hits=-2.2 required=5.0 tests=AWL,BAYES_00,T_RP_MATCHES_RCVD X-Spam-Check-By: sourceware.org Received: from e24smtp01.br.ibm.com (HELO e24smtp01.br.ibm.com) (32.104.18.85) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Wed, 07 Jul 2010 20:37:04 +0000 Received: from d24relay01.br.ibm.com (d24relay01.br.ibm.com [9.8.31.16]) by e24smtp01.br.ibm.com (8.14.4/8.13.1) with ESMTP id o67KcEH2006350 for ; Wed, 7 Jul 2010 17:38:14 -0300 Received: from d24av03.br.ibm.com (d24av03.br.ibm.com [9.8.31.95]) by d24relay01.br.ibm.com (8.13.8/8.13.8/NCO v10.0) with ESMTP id o67Kavks3997820 for ; Wed, 7 Jul 2010 17:36:57 -0300 Received: from d24av03.br.ibm.com (loopback [127.0.0.1]) by d24av03.br.ibm.com (8.14.4/8.13.1/NCO v10.0 AVout) with ESMTP id o67KauZR011427 for ; Wed, 7 Jul 2010 17:36:57 -0300 Received: from [9.18.197.19] ([9.18.197.19]) by d24av03.br.ibm.com (8.14.4/8.13.1/NCO v10.0 AVin) with ESMTP id o67Kaun9011419; Wed, 7 Jul 2010 17:36:56 -0300 Subject: Re: [PATCH 2/4] Hardware accelerated watchpoint conditions From: Thiago Jung Bauermann To: Joel Brobecker Cc: Ulrich Weigand , gdb-patches@sourceware.org, Luis Machado , Matt Tyrlik In-Reply-To: <20100707164442.GJ2595@adacore.com> References: <201007071224.o67COtto014736@d12av02.megacenter.de.ibm.com> <1278519651.2544.10.camel@hactar> <20100707164442.GJ2595@adacore.com> Content-Type: text/plain; charset="UTF-8" Date: Wed, 07 Jul 2010 20:37:00 -0000 Message-ID: <1278528690.2544.20.camel@hactar> Mime-Version: 1.0 Content-Transfer-Encoding: 7bit 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: 2010-07/txt/msg00131.txt.bz2 On Wed, 2010-07-07 at 09:44 -0700, Joel Brobecker wrote: > > > > 2010-07-06 Sergio Durigan Junior > > > > Thiago Jung Bauermann > > > > > > > > * breakpoint.c (fetch_watchpoint_value): Rename to fetch_subexp_value > > > > and move to eval.c. Change callers. > > > > (insert_bp_location): Pass watchpoint condition in > > > > target_insert_watchpoint. > > > > (remove_breakpoint_1) Pass watchpoint condition in > > > > target_remove_watchpoint. > > > > (watchpoint_locations_match): Call > > > > target_can_accel_watchpoint_condition. > > > > * eval.c: Include wrapper.h. > > > > (fetch_subexp_value): Moved from breakpoint.c. > > > > * ppc-linux-nat.c (ppc_linux_region_ok_for_hw_watchpoint): > > > > Formatting fix. > > > > (can_use_watchpoint_cond_accel): New function. > > > > (calculate_dvc): Likewise. > > > > (num_memory_accesses): Likewise. > > > > (check_condition): Likewise. > > > > (ppc_linux_can_accel_watchpoint_condition): Likewise > > > > (ppc_linux_insert_watchpoint): Call can_use_watchpoint_cond_accel, > > > > check_condition and calculate_dvc. > > > > (ppc_linux_remove_watchpoint): Likewise. > > > > (_initialize_ppc_linux_nat): Set to_can_accel_watchpoint_condition to > > > > ppc_linux_can_accel_watchpoint_condition > > > > * target.c (debug_to_insert_watchpoint): Add argument for watchpoint > > > > condition. > > > > (debug_to_remove_watchpoint): Likewise. > > > > (debug_to_can_accel_watchpoint_condition): New function. > > > > (update_current_target): Set to_can_accel_watchpoint_condition. > > > > (setup_target_debug): Set to_can_accel_watchpoint_condition. > > > > * target.h: Add opaque declaration for struct expression. > > > > (struct target_ops) , > > > > : Add new arguments to pass the watchpoint > > > > : New member. > > > > condition. Update all callers and implementations. > > > > (target_can_accel_watchpoint_condition): New macro. > > > > * value.c (free_value_chain): New function. > > > > * value.h (fetch_subexp_value): New prototype. > > > > (free_value_chain): Likewise. > > > > > > This is OK. > > > > Committed, thanks! > > I am a little nervous about including this in 7.2 given that it changes > the interface of target_ops functions. But at the same time, it's been > WIP for so long that I feel that everyone who contributed to getting > this piece of code in deserves to see this code in 7.2. We can work out > any missing API updates, if any during the branch stabilization phase. Thanks! The patch adds an argument to to_insert_watchpoint and to_remove_watchpoint, and adds a new target function (to_can_accel_watchpoint_condition) with a default implementation (return_zero). If this patch doesn't make GDB fail to compile on a platform (I didn't try to compile it on all platforms which it touches), then it shouldn't have any impact. -- []'s Thiago Jung Bauermann IBM Linux Technology Center