Mirror of the gdb-patches mailing list
 help / color / mirror / Atom feed
From: Tom Tromey <tromey@redhat.com>
To: Joel Brobecker <brobecker@adacore.com>
Cc: gdb-patches@sourceware.org
Subject: Re: FYI/prototype: re-implement relocs on ppc-aix
Date: Mon, 15 Apr 2013 12:50:00 -0000	[thread overview]
Message-ID: <871uaffoq8.fsf@fleche.redhat.com> (raw)
In-Reply-To: <20130325194808.GL5447@adacore.com> (Joel Brobecker's message of	"Mon, 25 Mar 2013 12:48:08 -0700")

>>>>> "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


  reply	other threads:[~2013-04-12 21:01 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-03-21 23:59 Joel Brobecker
2013-03-22 20:43 ` Tom Tromey
2013-03-26  3:12   ` Joel Brobecker
2013-04-15 12:50     ` Tom Tromey [this message]
2013-04-15 16:05       ` Joel Brobecker

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=871uaffoq8.fsf@fleche.redhat.com \
    --to=tromey@redhat.com \
    --cc=brobecker@adacore.com \
    --cc=gdb-patches@sourceware.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox