[patch/rfc] Simplify target stack

Daniel Jacobowitz drow@mvista.com
Thu Oct 23 03:58:00 GMT 2003


On Thu, Oct 16, 2003 at 08:21:36PM -0400, Andrew Cagney wrote:
> >I believe that the objectives here are:
> >>
> >>1. being able to directly walk the target chain
> >>Makes it possible to eliminate the INHERIT mess.  Lets targets 
> >>efficiently/directly interact with target-beneath.
> >>
> >>2. allow multiple instances of a specific target
> >>So that more than one target stack is possible.
> >>
> >>3. strict separation of target instance and target ops
> >>See below.
> >>
> >>In terms of priority, I rank them as above.
> >
> >
> >But we already _have_ a separation of target instance and target ops. 
> >It's struct target_stack_item.  It's your cleanup right there, waiting
> >to happen.  Removing it is not a step forwards; you can just change to
> >passing that item around instead of struct target_ops.  If you want a
> >different name, rename it.  Not everywhere will need to be converted,
> >obviously - only things which want the new data.
> 
> What you're casually dismissing as trivial: "Not everywhere will need to 
> be converted" and "Eventually, with low urgency, the non-ops should be 
> moved out of it" are exactly the things I also need *now*.
> 
> Given this, folding the two structures into-one provides me with the 
> shortest path to this objective.
> 
> >Just because you can avoid doing it now doesn't mean that's OK.  You
> >tell that to other developers at every opportunity.
> 
> And given a set of alternatives I'll take the one with the greatest bang 
> for the buck.

Please don't pretend I'm the only one on this list who has asked for a
contributor to take the longer way to a goal, in light of later
cleanups.  This is standard practice for keeping the code maintainable,
and evolving towards improved organization.

I see that you've checked this patch in despite my objections.  Please
let me know when you're done with modifying the target vector for a few
days and I'll just separate instance and ops myself, including moving
the new to_beneath and to_data fields out of struct target_ops.

-- 
Daniel Jacobowitz
MontaVista Software                         Debian GNU/Linux Developer



More information about the Gdb-patches mailing list