This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
[RFC 00/23] Regset rework preparations
- From: Andreas Arnez <arnez at linux dot vnet dot ibm dot com>
- To: gdb-patches at sourceware dot org
- Cc: Ulrich Weigand <uweigand at de dot ibm dot com>
- Date: Mon, 28 Apr 2014 11:35:33 +0200
- Subject: [RFC 00/23] Regset rework preparations
- Authentication-results: sourceware.org; auth=none
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.