From: Randolph Chung <randolph@tausq.org>
To: Joel Brobecker <brobecker@gnat.com>
Cc: gdb-patches@sources.redhat.com
Subject: Re: [patch/rfa] Signal trampoline unwinder for hppa-hpux
Date: Thu, 20 May 2004 20:53:00 -0000 [thread overview]
Message-ID: <20040520205309.GC566@tausq.org> (raw)
In-Reply-To: <20040520204625.GB10684@gnat.com>
> How can you tell whether a kernel is 32bits or not?
in the code? In the save_state_t structure returned by the kernel,
there's a flag, which is checked here:
+ if (!(flag & 0x40))
+ {
+ /* Narrow registers. */
+ off = scptr + offsetof (save_state_t, ss_narrow);
+ incr = 4;
+ szoff = 0;
+ }
+ else
+ {
+ /* Wide registers. */
+ off = scptr + offsetof (save_state_t, ss_wide) + 8;
+ incr = 8;
+ szoff = (tdep->bytes_per_address == 4 ? 4 : 0);
+ }
There are 3 cases, if you have a 32-bit kernel, then it should always
hit the first if case. If you have a 64-bit kernel and 32-bit userspace,
you should hit the second case with szoff == 4. For 64-bit kernel and
64-bit userspace you will hit the else case with szoff == 0.
I've only tested the 2nd scenario on hpux11.00 and hpux11.11. Too many
targets and combinations :-(
> I tried your patch on our machines, it we get noticeably better results,
> especially in sigstep.exp, which no longer times out to death....
yeah, it used to get into an infinite loop.. not very nice :)
randolph
--
Randolph Chung
Debian GNU/Linux Developer, hppa/ia64 ports
http://www.tausq.org/
next prev parent reply other threads:[~2004-05-20 20:53 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2004-05-20 4:17 Randolph Chung
2004-05-20 20:46 ` Joel Brobecker
2004-05-20 20:53 ` Randolph Chung [this message]
2004-05-20 22:36 ` Joel Brobecker
2004-05-20 23:33 ` Joel Brobecker
2004-05-21 17:41 ` Andrew Cagney
2004-05-21 18:39 ` Randolph Chung
2004-05-22 1:58 ` Randolph Chung
2004-05-23 0:29 ` Randolph Chung
2004-05-24 17:38 ` Andrew Cagney
2004-05-26 5:36 ` Randolph Chung
2004-05-26 13:20 ` Daniel Jacobowitz
2004-05-22 18:30 John David Anglin
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=20040520205309.GC566@tausq.org \
--to=randolph@tausq.org \
--cc=brobecker@gnat.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