From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 14557 invoked by alias); 14 Jan 2014 12:32:59 -0000 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 Received: (qmail 14547 invoked by uid 89); 14 Jan 2014 12:32:58 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-1.7 required=5.0 tests=AWL,BAYES_00,RP_MATCHES_RCVD,SPF_HELO_PASS,SPF_PASS autolearn=ham version=3.3.2 X-HELO: mx1.redhat.com Received: from mx1.redhat.com (HELO mx1.redhat.com) (209.132.183.28) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Tue, 14 Jan 2014 12:32:58 +0000 Received: from int-mx12.intmail.prod.int.phx2.redhat.com (int-mx12.intmail.prod.int.phx2.redhat.com [10.5.11.25]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id s0ECWvel024046 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK) for ; Tue, 14 Jan 2014 07:32:57 -0500 Received: from [127.0.0.1] (ovpn01.gateway.prod.ext.ams2.redhat.com [10.39.146.11]) by int-mx12.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id s0ECWtG1031981; Tue, 14 Jan 2014 07:32:56 -0500 Message-ID: <52D52E77.6040101@redhat.com> Date: Tue, 14 Jan 2014 12:32:00 -0000 From: Pedro Alves User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/20130625 Thunderbird/17.0.7 MIME-Version: 1.0 To: Tom Tromey CC: gdb-patches@sourceware.org Subject: Re: [RFC 05/32] add target method delegation References: <1389640367-5571-1-git-send-email-tromey@redhat.com> <1389640367-5571-6-git-send-email-tromey@redhat.com> In-Reply-To: <1389640367-5571-6-git-send-email-tromey@redhat.com> Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit X-SW-Source: 2014-01/txt/msg00425.txt.bz2 On 01/13/2014 07:12 PM, Tom Tromey wrote: > MUST UPDATE Yes, must. :-) > - > -static int > -record_full_can_async_p (struct target_ops *ops) > -{ > - /* We only enable async when the user specifically asks for it. */ > - return target_async_permitted; > -} > - > -static int > -record_full_is_async_p (struct target_ops *ops) > -{ > - /* We only enable async when the user specifically asks for it. */ > - return target_async_permitted; > -} > - I think these were and still are necessary, due to how find_default_target_can_async_p etc. is installed in the dummy target. E.g., when debugging with the record-core target, without this, I think we'll end up hitting the dummy target, because the core_ops target delegates these methods. That means we'll end up asking e.g., the GNU/Linux target whether it can async, while that isn't the process_stratum target that is open. This made me realize another issue with the find_default_target_can_async_p (or really all find_default_...) being installed in the dummy/default target. E.g., considering a configuration that includes both remote-sim, and a native target that can run. When connected to the sim, we'll end up calling that method in the default run target which is wrong. But for the scope of this series, I think it'll suffice to leave those record-full methods in place for now. Otherwise looks good to me. -- Pedro Alves