From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 21852 invoked by alias); 20 Nov 2013 04:46:25 -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 21827 invoked by uid 89); 20 Nov 2013 04:46:24 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=3.1 required=5.0 tests=AWL,BAYES_50,GARBLED_BODY,RDNS_NONE,URIBL_BLOCKED autolearn=no version=3.3.2 X-HELO: relay1.mentorg.com Received: from Unknown (HELO relay1.mentorg.com) (192.94.38.131) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Wed, 20 Nov 2013 04:46:22 +0000 Received: from svr-orw-fem-01.mgc.mentorg.com ([147.34.98.93]) by relay1.mentorg.com with esmtp id 1Vizfz-0002pz-C9 from Yao_Qi@mentor.com ; Tue, 19 Nov 2013 20:46:07 -0800 Received: from SVR-ORW-FEM-02.mgc.mentorg.com ([147.34.96.206]) by svr-orw-fem-01.mgc.mentorg.com over TLS secured channel with Microsoft SMTPSVC(6.0.3790.4675); Tue, 19 Nov 2013 20:46:07 -0800 Received: from qiyao.dyndns.org (147.34.91.1) by svr-orw-fem-02.mgc.mentorg.com (147.34.96.168) with Microsoft SMTP Server id 14.2.247.3; Tue, 19 Nov 2013 20:46:06 -0800 Message-ID: <528C3E2E.7020305@codesourcery.com> Date: Wed, 20 Nov 2013 04:46:00 -0000 From: Yao Qi User-Agent: Mozilla/5.0 (X11; Linux i686; rv:17.0) Gecko/20130110 Thunderbird/17.0.2 MIME-Version: 1.0 To: Doug Evans CC: gdb-patches Subject: Re: [PATCH 06/10] Add REGISTRY for struct address_space. References: <1383458049-20893-1-git-send-email-yao@codesourcery.com> <1383458049-20893-7-git-send-email-yao@codesourcery.com> In-Reply-To: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 8bit X-IsSubscribed: yes X-SW-Source: 2013-11/txt/msg00584.txt.bz2 On 11/18/2013 04:55 AM, Doug Evans wrote: > Ok. > > [Maybe struct address_space could be kept in progspace.c, dunno. > Perhaps a later patch requires moving it to a header.] Right, 'struct address_space' could be still kept in progspace.c. Update the patch and push it. -- Yao (齐尧) gdb: 2013-11-20 Yao Qi * progspace.c (struct address_space): Update comments. : New fields. DEFINE_REGISTRY for address_space. (new_address_space): Call address_space_alloc_data. (free_address_space): Call address_space_free_data. * progspace.h: Use DECLARE_REGISTRY. --- gdb/ChangeLog | 9 +++++++++ gdb/progspace.c | 18 ++++++++++++++---- gdb/progspace.h | 5 +++++ 3 files changed, 28 insertions(+), 4 deletions(-) diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 1362295..e8df902 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,5 +1,14 @@ 2013-11-20 Yao Qi + * progspace.c (struct address_space): Update comments. + : New fields. + DEFINE_REGISTRY for address_space. + (new_address_space): Call address_space_alloc_data. + (free_address_space): Call address_space_free_data. + * progspace.h: Use DECLARE_REGISTRY. + +2013-11-20 Yao Qi + * Makefile.in (SFILES):Add target-dcache.c. (HFILES_NO_SRCDIR): Add target-dcache.h. (COMMON_OBS): Add target-dcache.o. diff --git a/gdb/progspace.c b/gdb/progspace.c index 6e72211..303e88e 100644 --- a/gdb/progspace.c +++ b/gdb/progspace.c @@ -44,17 +44,25 @@ static int highest_address_space_num; DEFINE_REGISTRY (program_space, REGISTRY_ACCESS_FIELD) - - -/* An address space. Currently this is not used for much other than - for comparing if pspaces/inferior/threads see the same address +/* An address space. It is used for comparing if pspaces/inferior/threads + see the same address space and for associating caches to each address space. */ struct address_space { int num; + + /* Per aspace data-pointers required by other GDB modules. */ + REGISTRY_FIELDS; }; +/* Keep a registry of per-address_space data-pointers required by other GDB + modules. */ + +DEFINE_REGISTRY (address_space, REGISTRY_ACCESS_FIELD) + + + /* Create a new address space object, and add it to the list. */ struct address_space * @@ -64,6 +72,7 @@ new_address_space (void) aspace = XZALLOC (struct address_space); aspace->num = ++highest_address_space_num; + address_space_alloc_data (aspace); return aspace; } @@ -89,6 +98,7 @@ maybe_new_address_space (void) static void free_address_space (struct address_space *aspace) { + address_space_free_data (aspace); xfree (aspace); } diff --git a/gdb/progspace.h b/gdb/progspace.h index f24a569..04ac374 100644 --- a/gdb/progspace.h +++ b/gdb/progspace.h @@ -304,4 +304,9 @@ extern void clear_program_space_solib_cache (struct program_space *); DECLARE_REGISTRY (program_space); +/* Keep a registry of per-aspace data-pointers required by other GDB + modules. */ + +DECLARE_REGISTRY (address_space); + #endif -- 1.7.7.6