This is the mail archive of the gdb@sources.redhat.com 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]

Re: "struct target_ops" -> "struct gdbtarg" || "struct target"


Andrew Cagney <ac131313@redhat.com> writes:

> > Hello,
> > The current "target_ops" structure appeared with GDB 4.  The
> > original implementation containing only methods.  Since then the
> > target_ops have evolved to include data vis:
> >     struct section_table
> >      *to_sections;
> >     struct section_table
> >      *to_sections_end;
> > I think, the vector should be re-named to "struct target" or "struct
> > gdbtarg" (consistent with gdbarch, and more name space proof) so
> > that it correctly reflects its current implementation.
> > I'd like to do this now, before the target methods start being
> > explicitly parameterized with their target vector.
> 
> I should note that an alternative is to have "struct gdbarch" as the
> object and "struct target_ops" as the methods vis:
> 
> 	struct target
> 	{
> 	  .. data elements ...;
> 	  const struct target_ops *ops;
> 	};

You mean 'struct target' not 'struct gdbarch', right?  The second
alternative seems better to me, since it separates the static stuff
from the dynamic stuff.  (Except, of course, that the 'static' stuff
isn't actually static, because of update_current_target...)


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