David Howells wrote: > > > include/asm/rwsem.h: In function `diFree': > > include/asm/rwsem.h:169: inconsistent operand constraints in an `asm' > > > > seems that sem->count is not referenced in the asm. > > > > This: > > > > --- linux-2.5.6/include/asm-i386/rwsem.h Tue Feb 19 18:11:01 2002 > > +++ 25/include/asm-i386/rwsem.h Sat Mar 9 14:37:35 2002 > > @@ -164,7 +164,7 @@ LOCK_PREFIX " xadd %%edx,(%%eax)\n > > " jmp 1b\n" > > LOCK_SECTION_END > > "# ending __up_read\n" > > - : "+m"(sem->count), "+d"(tmp) > > + : /*"+m"(sem->count),*/ "+d"(tmp) > > : "a"(sem) > > : "memory", "cc"); > > } > > > > made it compile. Haven't tested it yet though.... > > It _is_ referenced in the asm. In the "xadd", the "(%%eax)" is sem->count, and > also the slow-path function (rwsem_wake) may modify it, so you must not remove > this constraint.
hm. Isn't "m" just a memory operand? I'm not familiar with the %%reg thing. > What version of the compiler are you using? 2.91.66. - _______________________________________________ Jfs-discussion mailing list [EMAIL PROTECTED] http://www-124.ibm.com/developerworks/oss/mailman/listinfo/jfs-discussion
