If memory services, you should use the "o" constraint instead. Note that there is no "memory" clobber, so if you change from "m" to "r" constraint, GCC won't know that the location at "addr" is being stored to. --david On 11/21/05, Andreas Schwab <schwab@suse.de> wrote: > The st insn on the ia64 does not allow the post-increment to come from a > register (only ld does). Thus the "m" constraint is not suitable for the > asm statement in __put_user_size. > > Signed-off-by: Andreas Schwab <schwab@suse.de> > > --- linux-2.6.14/include/asm-ia64/uaccess.h.~1~ 2005-10-28 02:02:08.000000000 +0200 > +++ linux-2.6.14/include/asm-ia64/uaccess.h 2005-11-20 18:15:46.559296784 +0100 > @@ -154,10 +154,10 @@ do { \ > # define __put_user_size(val, addr, n, err) \ > do { \ > register long __pu_r8 asm ("r8") = 0; \ > - asm volatile ("\n[1:]\tst"#n" %1=%r2%P1\t// %0 gets overwritten by exception handler\n" \ > + asm volatile ("\n[1:]\tst"#n" [%1]=%r2\t// %0 gets overwritten by exception handler\n" \ > "\t.xdata4 \"__ex_table\", 1b-., 1f-.\n" \ > "[1:]" \ > - : "=r"(__pu_r8) : "m"(__m(addr)), "rO"(val), "0"(__pu_r8)); \ > + : "=r"(__pu_r8) : "r"(addr), "rO"(val), "0"(__pu_r8)); \ > (err) = __pu_r8; \ > } while (0) > > > Andreas. > > -- > Andreas Schwab, SuSE Labs, schwab@suse.de > SuSE Linux Products GmbH, Maxfeldstraße 5, 90409 Nürnberg, Germany > PGP key fingerprint = 58CA 54C7 6D53 942B 1756 01D3 44D5 214B 8276 4ED5 > "And now for something completely different." > - > To unsubscribe from this list: send the line "unsubscribe linux-ia64" in > the body of a message to majordomo@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html > -- Mosberger Consulting LLC, voice/fax: 510-744-9372, http://www.mosberger-consulting.com/ 35706 Runckel Lane, Fremont, CA 94536 - To unsubscribe from this list: send the line "unsubscribe linux-ia64" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.htmlReceived on Tue Nov 22 03:09:48 2005
This archive was generated by hypermail 2.1.8 : 2005-11-22 03:09:56 EST