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]

[RFC 00/23] Regset rework preparations


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.


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