All of lore.kernel.org
 help / color / mirror / Atom feed
From: Daniel Jacobowitz <dan@debian.org>
To: Ralf Baechle <ralf@oss.sgi.com>
Cc: linux-mips@oss.sgi.com
Subject: Re: [PATCH] incorrect asm constraints for ll/sc constructs
Date: Tue, 29 May 2001 17:17:48 -0700	[thread overview]
Message-ID: <20010529171748.A7362@nevyn.them.org> (raw)
In-Reply-To: <20010525134909.A26065@nevyn.them.org>; from dan@debian.org on Fri, May 25, 2001 at 01:49:09PM -0700

On Fri, May 25, 2001 at 01:49:09PM -0700, Daniel Jacobowitz wrote:
> On Fri, May 25, 2001 at 05:27:46PM -0300, Ralf Baechle wrote:
> > On Thu, May 24, 2001 at 03:42:56PM +0200, Maciej W. Rozycki wrote:
> > 
> > > > The ll/sc constructs in the kernel use ".set noat" to inhibit use of $at,
> > > > and proceed to use it themselves.  This is fine, except for one problem: the
> > > > constraints on memory operands are "o" and "=o", which means offsettable
> > > > memory references.  If I'm not mistaken, the assembler will (always?)
> > > > turn these into uses of $at if the offset is not 0 - at least, it certainly
> > > > seems to do that here (gcc 2.95.3, binutils 2.10.91.0.2).  Just being honest
> > > > with the compiler and asking for a real memory reference does the trick. 
> > > 
> > >  Both "m" and "o" seem to be incorrect here as both are the same for MIPS; 
> > > "R" seems to be appropriate, OTOH.  Still gcc 2.95.3 doesn't handle "R" 
> > > fine for all cases, but it works most of the time and emits a warning
> > > otherwise.  I can't comment on 3.0.

Back to quibbling - that's just not true.  For one thing, from the info
documentation:
    `R'   
          Memory reference that can be loaded with one instruction (`m'
          is preferable for `asm' statements)

For another, using the patch I posted below, I get inconsistent
constraint errors.  I'm not entirely sure why.  Is there any reason not
to use the "m" version?  I can't see any case in which it would not
behave correctly.

-- 
Daniel Jacobowitz                           Debian GNU/Linux Developer
Monta Vista Software                              Debian Security Team

  parent reply	other threads:[~2001-05-30  0:18 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2001-05-23 21:52 [PATCH] incorrect asm constraints for ll/sc constructs Daniel Jacobowitz
2001-05-24 13:42 ` Maciej W. Rozycki
2001-05-24 23:44   ` Daniel Jacobowitz
2001-05-25 13:13     ` Maciej W. Rozycki
2001-05-25 21:15       ` Kevin D. Kissell
2001-05-25 21:15         ` Kevin D. Kissell
2001-05-25 21:49         ` Daniel Jacobowitz
2001-05-26 22:14           ` Kevin D. Kissell
2001-05-26 22:14             ` Kevin D. Kissell
2001-05-26 22:23             ` Ralf Baechle
2001-05-28 11:20             ` Maciej W. Rozycki
2001-05-28 13:48               ` Kevin D. Kissell
2001-05-28 13:48                 ` Kevin D. Kissell
2001-05-28 13:59                 ` Maciej W. Rozycki
2001-05-25 20:27   ` Ralf Baechle
2001-05-25 20:49     ` Daniel Jacobowitz
2001-05-28 11:09       ` Maciej W. Rozycki
2001-05-30  0:17       ` Daniel Jacobowitz [this message]
2001-05-30  7:02         ` Kevin D. Kissell
2001-05-30  7:02           ` Kevin D. Kissell

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=20010529171748.A7362@nevyn.them.org \
    --to=dan@debian.org \
    --cc=linux-mips@oss.sgi.com \
    --cc=ralf@oss.sgi.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 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.