From: Thiemo Seufer <ths@networkno.de>
To: Ulrich Hecht <uli@suse.de>
Cc: qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] [PATCH] S/390 host fixed
Date: Thu, 13 Sep 2007 05:21:58 +0100 [thread overview]
Message-ID: <20070913042158.GE15247@networkno.de> (raw)
In-Reply-To: <200708011544.43401.uli@suse.de>
Ulrich Hecht wrote:
[snip]
> > > +#ifdef __s390__
> > > + retaddr = (void*)((unsigned long)retaddr & 0x7fffffffUL);
> > > +#endif
> >
> > All of those look weird. Is this a null-extension vs. sign-extension
> > issue?
>
> S/390 has a 31 (thirty-one) bit address space; the MSB of the PSW is not
> part of the address and must be masked out. This is simply part of the
> architecture, there's no way around it.
It looks like the retaddr value is always acquired via the GETPC macro,
which does a __builtin_return_address(0). Could you check that
- Gcc's __builtin_return_address isn't just broken
- If the compiler is ok, test if twiddling the bit in the GETPC macro
works for s390. I suspect this catches more instances of the problem
and might even explain the odd breakage you saw.
> > > +#ifdef __s390__
> > > + func = NULL; /* does not work on S/390 for unknown
> > > reasons */ +#else
> > > func = gen_jcc_sub[s->cc_op - CC_OP_SUBB][jcc_op];
> > > +#endif
> >
> > Hum. It wold be good to know what happens here.
>
> Indeed. :)
Thiemo
prev parent reply other threads:[~2007-09-13 4:22 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-07-30 11:49 [Qemu-devel] [PATCH] S/390 host fixed Ulrich Hecht
2007-07-30 12:37 ` Sunil Amitkumar Janki
2007-07-30 14:05 ` Ulrich Hecht
2007-07-31 23:59 ` Thiemo Seufer
2007-08-01 1:02 ` Paul Brook
2007-08-01 13:58 ` Dan Shearer
2007-08-01 14:23 ` [Qemu-devel] replacing dyngen (was: S/390 host fixed) Paul Brook
2007-08-01 14:31 ` Dan Shearer
2007-08-01 14:47 ` Paul Brook
2007-08-01 13:44 ` [Qemu-devel] [PATCH] S/390 host fixed Ulrich Hecht
2007-09-13 4:21 ` Thiemo Seufer [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=20070913042158.GE15247@networkno.de \
--to=ths@networkno.de \
--cc=qemu-devel@nongnu.org \
--cc=uli@suse.de \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.