From: "H. Peter Anvin" <hpa@zytor.com>
To: linux-kernel@vger.kernel.org
Subject: Re: cpuid_eax damages registers (2.4.7pre7)
Date: 21 Jul 2001 21:27:53 -0700 [thread overview]
Message-ID: <9jdko9$900$1@cesium.transmeta.com> (raw)
In-Reply-To: <Pine.LNX.4.33.0107181014590.883-100000@penguin.transmeta.com> <Pine.LNX.4.33.0107182239050.1298-100000@vaio> <200107182204.f6IM4K001282@penguin.transmeta.com> <20010721170018.C3676@twiddle.net>
Followup to: <20010721170018.C3676@twiddle.net>
By author: Richard Henderson <rth@twiddle.net>
In newsgroup: linux.dev.kernel
>
> On Wed, Jul 18, 2001 at 03:04:20PM -0700, Linus Torvalds wrote:
> > Can you verify with this alternate patch instead?
>
> I take it you've found something that happens to work with egcs 1.1?
>
> At a glance the bug appears to be the one that caused
> gcc/testsuite/gcc.dg/clobbers.c to be written. That one
> is a fundamental flaw in reload that caused it to be
> largely rewritten for gcc 2.95.
>
> In other words, you may not be able to find a workaround
> for egcs 1.1 that works for all cases. Using an alternative
> that writes all of eax/ebx/ecx/edx to memory is probably
> safer if none of the uses of cpuid are performance-critical.
>
Either making the asms "volatile" seems to work, as does leaving the
unused arguments as clobbers rather than output operands. If either
doesn't work with later versions, then later versions would have their
own bugs.
-hpa
--
<hpa@transmeta.com> at work, <hpa@zytor.com> in private!
"Unix gives you enough rope to shoot yourself in the foot."
http://www.zytor.com/~hpa/puzzle.txt
next prev parent reply other threads:[~2001-07-22 4:28 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
2001-07-18 10:48 cpuid_eax damages registers (2.4.7pre7) Julian Anastasov
2001-07-18 15:10 ` Linus Torvalds
2001-07-18 17:08 ` Julian Anastasov
2001-07-18 17:21 ` Linus Torvalds
2001-07-18 20:43 ` Kai Germaschewski
2001-07-18 22:04 ` Linus Torvalds
2001-07-18 22:25 ` Kai Germaschewski
2001-07-19 8:23 ` Julian Anastasov
2001-07-19 18:36 ` H. Peter Anvin
2001-07-20 1:42 ` Julian Anastasov
2001-07-19 22:51 ` H. Peter Anvin
2001-07-20 2:01 ` Julian Anastasov
2001-07-19 23:02 ` H. Peter Anvin
2001-07-19 22:55 ` Linus Torvalds
2001-07-20 2:19 ` Julian Anastasov
2001-07-19 23:23 ` H. Peter Anvin
2001-07-19 23:24 ` Linus Torvalds
2001-07-22 0:00 ` Richard Henderson
2001-07-22 4:27 ` H. Peter Anvin [this message]
2001-07-21 23:45 ` Richard Henderson
-- strict thread matches above, loose matches on Subject: below --
2001-07-18 20:30 Rick Hohensee
2001-07-19 5:15 ` Keith Owens
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='9jdko9$900$1@cesium.transmeta.com' \
--to=hpa@zytor.com \
--cc=linux-kernel@vger.kernel.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