This is the mail archive of the gdb-patches@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[PING^2] [RFC 00/23] Regset rework preparations


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.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]