Mirror of the gdb-patches mailing list
 help / color / mirror / Atom feed
From: Kevin Buettner <kevinb@redhat.com>
To: Andrew Cagney <ac131313@redhat.com>, Kevin Buettner <kevinb@redhat.com>
Cc: gdb-patches@sources.redhat.com
Subject: Re: [rfa:solib] Handle start-address descriptors
Date: Wed, 29 Oct 2003 04:21:00 -0000	[thread overview]
Message-ID: <1031029042111.ZM4799@localhost.localdomain> (raw)
In-Reply-To: Andrew Cagney <ac131313@redhat.com> "Re: [rfa:solib] Handle start-address descriptors" (Oct 27,  6:49pm)

On Oct 27,  6:49pm, Andrew Cagney wrote:

> >> +#include "bfd-target.h"
> >> +#include "exec.h"
> > 
> > I'm surprised that you needed to include exec.h.  solib-svr4.c already
> > includes target.h and I would've thought this to be sufficient.  If
> > exec.h isn't needed, please take it out.  (Don't forget to fix Makefile.in.)
> 
> They are both needed.

Okay, I've looked over your patch again and I see why now -- the
address of exec_ops is being passed to exec_entry_point().  (You could
have mentioned this instead of just saying "They are both needed.")

> > Could you add a comment here telling why
> > gdbarch_convert_from_func_ptr_addr() is needed.  Maybe something like
> > this?
> 
> I'll add your comment.

Thanks.

> > Hmm, a possible problem...  What happens when the target uses function
> > descriptors, but not for the exec file's start address?  I'm wondering
> > (ugh) if a separate gdbarch method is required for obtaining the start
> > address.
> 
> Fortunatly a previous patch addressed that problem.  The convert 
> function is only applied to positively identified descriptors.

If I'm not mistaken, this problem has been addressed for ppc64 and
ia64, but not in a generic fashion.  I'm concerned about some other
ABI (for some other architecture) which has function descriptors, but
has no easy way to discriminate between descriptors and code
addresses.  If this ABI specifies that the entry point should refer to
a code address instead of a descriptor, then we need a more
complicated mechanism -- perhaps that separate gdbarch method that I
mentioned earlier.

I suppose we can wait to do something about this problem until it
actually arises.  But... since we've identified a potential problem,
we should at least document it in some appropriate location.  If
the convert_from_func_ptr_addr() method *must* (due to the way it
is used elsewhere) contain a discrimination mechanism, then this
should be mentioned in the documentation.  (BTW, I don't see this
method documented in gdbint.texinfo.)

Kevin


  reply	other threads:[~2003-10-29  4:21 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2003-10-27 18:45 Andrew Cagney
2003-10-27 18:57 ` Kevin Buettner
2003-10-27 19:11   ` Andrew Cagney
2003-10-28 21:55 ` Kevin Buettner
2003-10-28 23:50   ` Andrew Cagney
2003-10-29  4:21     ` Kevin Buettner [this message]
2003-10-29 15:47       ` Andrew Cagney
2003-10-31 21:15 ` Andrew Cagney

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=1031029042111.ZM4799@localhost.localdomain \
    --to=kevinb@redhat.com \
    --cc=ac131313@redhat.com \
    --cc=gdb-patches@sources.redhat.com \
    /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