Mirror of the gdb-patches mailing list
 help / color / mirror / Atom feed
* [PATCH 0/4] baby step toward multi-target
@ 2014-07-18 19:27 Tom Tromey
  2014-07-18 19:27 ` [PATCH 1/4] move core_bfd to program space Tom Tromey
                   ` (5 more replies)
  0 siblings, 6 replies; 17+ messages in thread
From: Tom Tromey @ 2014-07-18 19:27 UTC (permalink / raw)
  To: gdb-patches

My multi-target branch is basically dead, I think, mostly due to heavy
conflicts with all the other target changes that have happened in the
meantime.  However recently I realized that there is a less invasive
way to achieve many of the same effects, and a way to salvage some of
the smaller cleanups done there.

In particular on the branch I attempted to split target_ops into a
vtable-like object and a target state object.  As you might imagine
this patch touches a large amount of code and is hard both to keep up
to date, and to test.

This little series, on the other hand, takes a less invasive approach.
The idea here is that rather than doing a huge target_ops split,
instead just sometimes make copies of the target_ops when pushing.
This lets the copies keep their own state; copies are needed in the
long run because multiple target stacks will be active and a given
target_ops only has one "beneath" pointer.

Here corelow is used as the example of how to do a conversion.
There's a bit of cleanup and infrastructure initially, and then the
final patch moves the corelow global state into a new subclass of
target_ops, which is instantiated and pushed.

If this approach seems reasonable then it's not too hard to pull over
some of the other target conversions from the branch.

This series also shows the spots to change if you want to make the
debug target wrap each stratum in the target stack -- each wrapping
debug target would be to_xclose-ish, and spots like target_is_pushed
would be taught to unwrap.

Built and regtested on x86-64 Fedora 20.


^ permalink raw reply	[flat|nested] 17+ messages in thread

end of thread, other threads:[~2014-08-11  5:54 UTC | newest]

Thread overview: 17+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-07-18 19:27 [PATCH 0/4] baby step toward multi-target Tom Tromey
2014-07-18 19:27 ` [PATCH 1/4] move core_bfd to program space Tom Tromey
2014-07-18 19:27 ` [PATCH 2/4] simplify target_is_pushed Tom Tromey
2014-07-29 13:22   ` Joel Brobecker
2014-07-29 15:16     ` Tom Tromey
2014-07-18 19:45 ` [PATCH 3/4] add to_identity Tom Tromey
2014-07-29 14:56   ` Joel Brobecker
2014-07-29 15:11     ` Tom Tromey
2014-07-18 20:44 ` [PATCH 4/4] convert corelow to to_xclose Tom Tromey
2014-07-29 15:11 ` [PATCH 0/4] baby step toward multi-target Pedro Alves
2014-07-29 15:15   ` Tom Tromey
2014-07-29 16:32     ` Pedro Alves
2014-07-29 19:04       ` Tom Tromey
2014-07-29 21:32         ` Doug Evans
2014-08-11  5:54           ` Doug Evans
2014-07-29 15:40   ` Doug Evans
2014-08-10 20:02 ` Doug Evans

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox