Mirror of the gdb-patches mailing list
 help / color / mirror / Atom feed
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/


  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