FRV: ip_fast_csum() requires a memory clobber on its inline asm
authorDavid Howells <dhowells@redhat.com>
Thu, 5 Jun 2008 16:07:35 +0000 (17:07 +0100)
committerLinus Torvalds <torvalds@linux-foundation.org>
Thu, 5 Jun 2008 17:31:21 +0000 (10:31 -0700)
commit609a70ac927b72da647ccee7873d928d45055eae
treea9d9268d5a517001f2895de9a0a85f7050fbcee8
parent5a515bcbea580a65ced92405b083299df9003748
FRV: ip_fast_csum() requires a memory clobber on its inline asm

ip_fast_csum() requires a memory clobber on its inline asm as it accesses
memory in a fashion that gcc can't predict.

The GCC manual says:

 If your assembler instructions access memory in an unpredictable
 fashion, add `memory' to the list of clobbered registers.  This will
 cause GCC to not keep memory values cached in registers across the
 assembler instruction and not optimize stores or loads to that memory.

The bug hasn't been noticed in FRV, but it has been seen in PA-RISC.

Signed-off-by: David Howells <dhowells@redhat.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
include/asm-frv/checksum.h