From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 15826 invoked by alias); 28 Apr 2014 09:35:43 -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 15813 invoked by uid 89); 28 Apr 2014 09:35:43 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-2.7 required=5.0 tests=AWL,BAYES_00,RP_MATCHES_RCVD autolearn=ham version=3.3.2 X-HELO: e06smtp18.uk.ibm.com Received: from e06smtp18.uk.ibm.com (HELO e06smtp18.uk.ibm.com) (195.75.94.114) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with (AES256-SHA encrypted) ESMTPS; Mon, 28 Apr 2014 09:35:42 +0000 Received: from /spool/local by e06smtp18.uk.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted for from ; Mon, 28 Apr 2014 10:35:38 +0100 Received: from d06dlp02.portsmouth.uk.ibm.com (9.149.20.14) by e06smtp18.uk.ibm.com (192.168.101.148) with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted; Mon, 28 Apr 2014 10:35:37 +0100 Received: from b06cxnps3074.portsmouth.uk.ibm.com (d06relay09.portsmouth.uk.ibm.com [9.149.109.194]) by d06dlp02.portsmouth.uk.ibm.com (Postfix) with ESMTP id BDACB2190046 for ; Mon, 28 Apr 2014 10:35:28 +0100 (BST) Received: from d06av03.portsmouth.uk.ibm.com (d06av03.portsmouth.uk.ibm.com [9.149.37.213]) by b06cxnps3074.portsmouth.uk.ibm.com (8.13.8/8.13.8/NCO v10.0) with ESMTP id s3S9Za5v64487428 for ; Mon, 28 Apr 2014 09:35:36 GMT Received: from d06av03.portsmouth.uk.ibm.com (localhost [127.0.0.1]) by d06av03.portsmouth.uk.ibm.com (8.14.4/8.14.4/NCO v10.0 AVout) with ESMTP id s3S9ZZth004932 for ; Mon, 28 Apr 2014 03:35:35 -0600 Received: from br87z6lw.de.ibm.com (dyn-9-152-212-188.boeblingen.de.ibm.com [9.152.212.188]) by d06av03.portsmouth.uk.ibm.com (8.14.4/8.14.4/NCO v10.0 AVin) with ESMTP id s3S9ZX3L004829; Mon, 28 Apr 2014 03:35:34 -0600 From: Andreas Arnez To: gdb-patches@sourceware.org Cc: Ulrich Weigand Subject: [RFC 00/23] Regset rework preparations Date: Mon, 28 Apr 2014 09:35:00 -0000 Message-ID: <87eh0h6bkq.fsf@br87z6lw.de.ibm.com> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/23.3 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-TM-AS-MML: disable X-Content-Scanned: Fidelis XPS MAILER x-cbid: 14042809-6892-0000-0000-000008990B38 X-IsSubscribed: yes X-SW-Source: 2014-04/txt/msg00560.txt.bz2 This patch series intends to make regset definitions more similar across architectures. It is the first half of a "regset rework" series which (in particular) makes core file handling multi-arch capable for all Linux platforms. Since the whole series seemed too bulky at one go, I decided to split it and collect some feedback for the first half before going on. Outline: * Patch 1 ("Constify regset structures"): Converts (unnecessarily) non-constant static regsets to constant ones. * Patch 2 ("Remove 'arch' field from regset structure"): Removes the only inherently dynamic field from the regset structure. * Patch 3-8 and 10 ("Replace regset_alloc() invocations by static regset structures."): Eliminate dynamic regset allocations and replace them by static constant structures, now that regsets don't carry dynamic data any more. This generally simplifies the code and increases the similarity of regset definitions across architectures. * Patch 9 ("SPARC: Rename register maps from "*regset" to "*regmap"): Adjusts naming, to avoid name clashes in patch 10. * Patch 11 ("Drop regset_alloc()"): Removes the now-unused function. * Patch 12 ("regcache: Add functions suitable for regset_supply/collect"): Provides generic supply/collect functions, such that architecture-specific logic can be reduced. * Patch 13 ("S390: Migrate to regcache_supply/collect_regset"): Exploits the new generic supply/collect functions from patch 12 for S390. Such exploitation is likely possible by other architectures as well; this patch provides an example. * Patch 14-21 ("Fill 'collect_regset' in regset structures"): Add the collect_regset method to all Linux regsets where it had been missing. This is necessary, but not sufficient, to make the "gcore" command multi-arch capable. Some of these patches exploit the new generic supply/collect functions from patch 12. No real new functionality is provided, but an important prerequisite for multi-arch capable core file handling is fulfilled. * Patch 22, 23 ("Define regset structures"): Define regset structures for each of the Linux targets that lacked them before (M68K and IA64). Exploit the new generic supply/collect functions from patch 12. These patches should make core file reading (but not writing) multi-arch capable for these targets. Note that all architecture-specific changes except for S390 are completely untested.