From: Joel Brobecker <brobecker@adacore.com>
To: Pedro Alves <pedro@codesourcery.com>
Cc: gdb-patches@sourceware.org
Subject: Re: [PATCH 7/8] ia64-hpux: unwinding bsp value from system call
Date: Wed, 29 Dec 2010 05:49:00 -0000 [thread overview]
Message-ID: <20101229032848.GE2396@adacore.com> (raw)
In-Reply-To: <201012281546.01099.pedro@codesourcery.com>
> What is the underlying object you're getting those values from?
> I understood it to be whatever object TT_LWP_RUREGS accesses?
> You seem to call it save_state_t? Why not TARGET_OBJECT_HPUX_RUREGS
> or TARGET_OBJECT_HPUX_SAVE_STATE, or something along those lines?
> Then, the offset, and length passed to target_xfer would the
> the offset and length you're currently passing to
> ia64_hpux_read_register_from_save_state_t. This would allow
> (if useful) exporting this object similarly to the $_siginfo and
> $_tlb objects.
I cannot determine the offset from the tdep code. The offset is
is a obtained by including one of the system hearders.
To widen a bit the discussion, I should mention that there is also
another object that I am trying to transfer in this patch set:
During an inferior function call, I need to set the global pointer,
and I can only get that global pointer from the shared-library
code (we extract a structure from memory which is also defined by
system headers). In both cases, I was (ab)-using TARGET_OBJECT_OSDATA.
My initial thoughts on the kind of object to be used were that we could
have one generic object which the targets were free to ues as they see
fit. Right now, we have TARGET_OBJECT_AVR, TARGET_OBJECT_SPU, etc.
It seems unnecessary to have one for each CPU since we can use
namespace conventions to make sure there are no collision. I'm not
even sure that collisions are really a problem either, in fact.
Depending on which approach we use, I am proposing the following
target objects:
(a) * TARGET_OBJECT_HPUX_STOP_REASON
Returns a 1-byte object.
0 == syscall context, non-zero == interruption context
* TARGET_OBJECT_HPUX_SOLIB_GOT
ANNEX contains an image of the PC for which we need the GOT
Returns a CORE_ADDR that is either 0 if no shared library
contains that PC, or else the associated SO's GOT.
(b) One object for both datas:
TARGET_OBJECT_HPUX, or TARGET_OBJECT_HPUX_DATA, or
TARGET_OBJECT_TARGET_DATA, or TARGET_OBJECT_TDEP_DATA.
In that case, the annex is used to determine which specific
data the tdep code is looking for. I tend to like either
TARGET_OBJECT_HPUX, or TARGET_OBJECT_TDEP_DATA, with a preference
for the TARGET_OBJECT_TDEP_DATA.
--
Joel
next prev parent reply other threads:[~2010-12-29 3:29 UTC|newest]
Thread overview: 31+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-12-28 4:43 Porting GDB to ia64-hpux Joel Brobecker
2010-12-28 4:43 ` [PATCH 2/8] small integral parameters and return values Joel Brobecker
2010-12-28 4:43 ` [PATCH 4/8] libunwind-frame.c: handle functions with no minimal symbol/debug info Joel Brobecker
2010-12-28 4:43 ` [PATCH 1/8] Add a big-endian version of the ia64-ext floatformat Joel Brobecker
2010-12-28 4:44 ` [PATCH 6/8] port GDB to ia64-hpux (native) Joel Brobecker
2011-01-11 23:26 ` Steve Ellcey
2011-01-12 1:26 ` Joel Brobecker
2011-01-12 16:57 ` Steve Ellcey
2011-01-12 20:11 ` Joel Brobecker
2011-01-13 1:01 ` Joel Brobecker
2011-01-13 5:13 ` Steve Ellcey
[not found] ` <1299014508.30497.20.camel@hpsje.cup.hp.com>
[not found] ` <20110302044549.GU2513@adacore.com>
[not found] ` <1299171098.30497.88.camel@hpsje.cup.hp.com>
[not found] ` <20110303172717.GJ2513@adacore.com>
[not found] ` <1299173882.30497.114.camel@hpsje.cup.hp.com>
2011-06-17 16:30 ` Joel Brobecker
2011-01-13 18:07 ` Joel Brobecker
2010-12-28 4:44 ` [PATCH 3/8] Make sure __LITTLE_ENDIAN/__BIG_ENDIAN are defined in libunwind-frame.c Joel Brobecker
2010-12-28 4:44 ` [PATCH 5/8] inf-ttrace: Determine attached process LWP immediately after attaching Joel Brobecker
2010-12-28 11:04 ` Pedro Alves
2010-12-28 11:26 ` Joel Brobecker
2010-12-28 4:54 ` [PATCH 7/8] ia64-hpux: unwinding bsp value from system call Joel Brobecker
2010-12-28 11:35 ` Pedro Alves
2010-12-28 12:01 ` Joel Brobecker
2010-12-28 16:17 ` Pedro Alves
2010-12-29 5:49 ` Joel Brobecker [this message]
2010-12-29 12:05 ` Pedro Alves
2010-12-29 13:16 ` Joel Brobecker
2010-12-31 18:15 ` Joel Brobecker
2010-12-28 15:29 ` [RFA/commit] Add documentation for TARGET_OBJECT_OSDATA Joel Brobecker
2010-12-28 15:46 ` Pedro Alves
2010-12-29 3:29 ` Joel Brobecker
2010-12-28 5:00 ` [PATCH 8/8] [ia64-hpux] inferior function call support Joel Brobecker
2010-12-31 19:18 ` Joel Brobecker
2011-01-13 16:53 ` Porting GDB to ia64-hpux 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=20101229032848.GE2396@adacore.com \
--to=brobecker@adacore.com \
--cc=gdb-patches@sourceware.org \
--cc=pedro@codesourcery.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