Re: warning: read-write constraint -- 2.6.15-git8 onwards

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wednesday 18 January 2006 19:25, Andy Whitcroft wrote:
> It seems that the following commit causes a bunch of warnings out of
> most of the files in the kernel tree (see below for examples).  Backing
> this out seems to cure them?




> Compiled with:
> 
>     gcc version 3.3.4 (Debian 1:3.3.4-6sarge1)
> 
> -apw
> 
>   CC      arch/x86_64/kernel/process.o
> include/asm/bitops.h: In function `default_idle':
> include/asm/bitops.h:65: warning: read-write constraint does not allow a
> register
> include/asm/bitops.h:65: warning: read-write constraint does not allow a
> register
> include/asm/bitops.h:30: warning: read-write constraint does not allow a
> register
> include/asm/bitops.h:30: warning: read-write constraint does not allow a
> register

I only tested with gcc 4.0 and 4.1 prereleases where it worked just fine.

 __asm__ __volatile__( LOCK_PREFIX
                "btrl %1,%0"
                :"+m" (ADDR)
                :"dIr" (nr));

I tried to covert them from +m to explicit input/output
arguments ("=m" (ADDR) : "0" (ADDR)) to fix your compiler 
but with that I get the the same warning as you with 3.4 with 4.0.
Don't know how else it could be written. 

Ok one could just pass the address and do a full memory clobber, but 
that would be a overly large sledgehammer for the problem.

Jan or Andreas - do you have any suggestions how to fix this or should
we revert back to the old (technically wrong) state which was

    __asm__ __volatile__( LOCK_PREFIX
                "btrl %1,%0"
                :"=m" (ADDR)
                :"dIr" (nr));


Thanks,
-Andi


-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux