From: Kevin Buettner <kevinb@redhat.com>
To: Andrew Cagney <cagney@gnu.org>
Cc: gdb-patches@sources.redhat.com, Randolph Chung <randolph@tausq.org>
Subject: Re: [hppa] Enable cross-gdb building for hppa
Date: Mon, 10 May 2004 21:14:00 -0000 [thread overview]
Message-ID: <20040510141358.7dd2f21f@saguaro> (raw)
In-Reply-To: <409FC122.8010009@gnu.org>
On Mon, 10 May 2004 13:51:30 -0400
Andrew Cagney <cagney@gnu.org> wrote:
> > This patch enables cross-gdb building for hppa using the same kludge as
> > other archs. What's a more proper way to fix this?
>
> Good question. The gdbarch_data mechanism appears to have been ironed
> out. I guess having the shlib code maintain its own per osabi info.
>
> Kevin?
IIRC, the problem is that SOLIB_ADD (and related macros) are defined
in multiple locations. The definition in solib.h is the preferred
definition, but the other definitions are still needed for shared
library support on other platforms. To make things more complicated,
not all builds of GDB require shib machinery, so there are some ifdefs
which disable chunks of code when SOLIB_ADD is not defined.
Long term, we want to get rid of these other definitions (as well as
the SOLIB_ADD ifdefs) and have all calls to the shlib machinery go
through solib.c. In order to manage the problem of competing
SOLIB_ADD (and company) macros, we can either multiarch these or allow
solib.c (or some adjunct) to privately multiarch them. I'm guessing
that the latter is what Andrew is referring to above.
Within the solib.c regime (which is where we want all of the other
solib implementations to eventually migrate), switching between
different solib backends is currently accomplished by changing the
value of the global variable current_target_so_ops. This global could
be eliminated in favor of the gdbarch_data mechanism too. In either
case, we'll need to introduce an interface which allows for switching
from one solib backend to another.
It would be nice to be able to accomodate several solib mechanisms
concurrently, e.g. solib-svr4 and an XFree86 module loader. This
implies that the upper level solib code needs to be aware of some
relevant set of backends. Sniffing code would be used to determine
whether a particular backend should be activated or not.
Kevin
prev parent reply other threads:[~2004-05-10 21:14 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <20040509195351.GW3965@tausq.org>
2004-05-10 15:09 ` Randolph Chung
2004-05-10 16:48 ` Daniel Jacobowitz
2004-05-10 17:51 ` Andrew Cagney
2004-05-10 21:14 ` Kevin Buettner [this message]
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=20040510141358.7dd2f21f@saguaro \
--to=kevinb@redhat.com \
--cc=cagney@gnu.org \
--cc=gdb-patches@sources.redhat.com \
--cc=randolph@tausq.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