summaryrefslogtreecommitdiffstats
path: root/include/asm-parisc/checksum.h
diff options
context:
space:
mode:
authorKyle McMartin <kyle@minerva.i.cabal.ca>2008-05-31 18:15:42 +0200
committerKyle McMartin <kyle@minerva.i.cabal.ca>2008-06-13 16:49:56 +0200
commite374d17cd74ec5967f81e2b0c67ec3219a2bbbcc (patch)
treee7383635119fc66a60edaaa36b4df2078337a86f /include/asm-parisc/checksum.h
parentparisc: fix off by one in setup_sigcontext32 (diff)
downloadlinux-e374d17cd74ec5967f81e2b0c67ec3219a2bbbcc.tar.xz
linux-e374d17cd74ec5967f81e2b0c67ec3219a2bbbcc.zip
parisc: fix miscompilation of ip_fast_csum with gcc >= 4.3
ip_fast_csum needs an asm "memory" clobber, otherwise the aggressive optimizations in gcc-4.3 cause it to be miscompiled. Signed-off-by: Kyle McMartin <kyle@mcmartin.ca>
Diffstat (limited to '')
-rw-r--r--include/asm-parisc/checksum.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/include/asm-parisc/checksum.h b/include/asm-parisc/checksum.h
index cc3ec1bd8919..e9639ccc3fce 100644
--- a/include/asm-parisc/checksum.h
+++ b/include/asm-parisc/checksum.h
@@ -65,7 +65,7 @@ static inline __sum16 ip_fast_csum(const void *iph, unsigned int ihl)
"2:\n"
: "=r" (sum), "=r" (iph), "=r" (ihl)
: "1" (iph), "2" (ihl)
- : "r19", "r20", "r21" );
+ : "r19", "r20", "r21", "memory");
return (__force __sum16)sum;
}