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

Reply via email to