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]

Re: FYI/prototype: re-implement relocs on ppc-aix


>>>>> "Joel" == Joel Brobecker <brobecker@adacore.com> writes:

Tom> It seems to me that the "gold-plated" method would be to change the code
Tom> everywhere not to assume a "file name", but instead make a new "solib
Tom> name" object that has virtual methods for its operations, and let AIX
Tom> supply a subclass of this.
Joel> [...]
Tom> This is a lot more typing, especially if you went the full route and
Tom> pushed it into objfiles as well, but I think it would avoid many issues
Tom> as well.

Joel> I see the beauty of it, but at the same time, this is introducing
Joel> a second level of indirection; is it going to make things better
Joel> than extending the current target_so_ops by adding handling of
Joel> member objects? To me, it seems a little overkill, but I do not
Joel> mind going that direction. (separate patch, probably not before
Joel> the fall, unfortunately).

Yeah, I don't know which is better.

On the one hand, mine may be overkill, but on the other it may be better
if we need future tweaks here.

Tom> I think you could refactor default_symfile_offsets so that it calls a
Tom> helper function, also called by xcoff_symfile_offsets, and which doesn't
Tom> do this setting.

Joel> I think I have an idea of what you mean, but I don't think I quite
Joel> see what you mean in practice... Not a big problem, and easy to fix
Joel> later on.

I just mean taking the current default_symfile_offsets and changing it
to:

... default_symfile_offsets_base () { ...
   everything except setting the offsets to defaults
}

default_symfile_offsets () {
   default_symfile_offsets_base()
   ... set the offsets to the defaults
}

Then your code can call default_symfile_offsets_base.

Joel> +static struct obj_section *
Joel> +data_obj_section_from_objfile (struct objfile *objfile)
Joel> +{
Joel> +  struct obj_section *osect;
Joel> +
Joel> +  ALL_OBJFILE_OSECTIONS (objfile, osect)
Joel> + if (strcmp (bfd_section_name (objfile->obfd,
Joel> osect->the_bfd_section),
Joel> +		".data") == 0)
Joel> +      return osect;

Tom> Can this not look at objfile->data_sect_index?

Joel> Not if I am understanding it right. objfile->sect_index_data is
Joel> an index in the objfile->section_offsets array. I couldn't convince
Joel> myself from the current documentation that those indices applied
Joel> to both objfile->section_offsets and objfile->sections. It would be
Joel> ideal if I could!

After the obj_section merge, they are the same.

Tom


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