This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
[PING^2] [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
- Date: Wed, 14 May 2014 14:13:26 +0200
- Subject: [PING^2] [RFC 00/23] Regset rework preparations
- Authentication-results: sourceware.org; auth=none
Although there was feedback for some of the patches in this series
(https://sourceware.org/ml/gdb-patches/2014-04/msg00560.html), many are
still uncommented. I'd really appreciate more feedback, particularly
for the architecture-specific changes.
So far the patches have been commented as follows.
> * Patch 1 ("Constify regset structures"): Converts (unnecessarily)
> non-constant static regsets to constant ones.
Approved by Mark Kettenis:
https://sourceware.org/ml/gdb-patches/2014-05/msg00037.html
> * Patch 2 ("Remove 'arch' field from regset structure"): Removes the
> only inherently dynamic field from the regset structure.
Mark Kettenis suggested to split the initializers of the form "tdep =
gdbarch_tdep (get_regcache_arch (...))" in two lines. This is done:
https://sourceware.org/ml/gdb-patches/2014-05/msg00042.html
> * 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 5 (x86): Mark Kettenis suggested to keep i386_supply_gregset as a
global function. This is done:
https://sourceware.org/ml/gdb-patches/2014-04/msg00607.html
Patch 10 (SPARC): Approved by Mark Kettenis:
https://sourceware.org/ml/gdb-patches/2014-05/msg00039.html
Patches 3, 4, 6, 7, 8 (AARCH64, ARM, MIPS, MN10300, and SCORE): No
comments yet.
> * Patch 9 ("SPARC: Rename register maps from "*regset" to "*regmap"):
> Adjusts naming, to avoid name clashes in patch 10.
Approved by Mark Kettenis:
https://sourceware.org/ml/gdb-patches/2014-05/msg00038.html
> * Patch 11 ("Drop regset_alloc()"): Removes the now-unused function.
Approved by Mark Kettenis, but depends on patches 3-8:
https://sourceware.org/ml/gdb-patches/2014-05/msg00040.html
> * Patch 12 ("regcache: Add functions suitable for
> regset_supply/collect"): Provides generic supply/collect functions,
> such that architecture-specific logic can be reduced.
There doesn't seem to be agreement on the map format for the generic
supply/collect functions. See my latest comment on this:
https://sourceware.org/ml/gdb-patches/2014-05/msg00043.html
Any suggestions are welcome. Note that many of the remaining patches in
this series depend on patch 12.
> * 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.
Depends on patch 12. Would be nice to get in, because it greatly
simplifies the S/390 tdep code.
> * 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.
No feedback for any of these yet.