diff options
author | Kyle McMartin <kyle@minerva.i.cabal.ca> | 2008-05-31 12:15:42 -0400 |
---|---|---|
committer | Kyle McMartin <kyle@minerva.i.cabal.ca> | 2008-06-13 10:49:56 -0400 |
commit | e374d17cd74ec5967f81e2b0c67ec3219a2bbbcc (patch) | |
tree | e7383635119fc66a60edaaa36b4df2078337a86f /include/asm-parisc | |
parent | f4441b62d46e7033e907dfd6a8bb0b75b5519e88 (diff) | |
download | op-kernel-dev-e374d17cd74ec5967f81e2b0c67ec3219a2bbbcc.zip op-kernel-dev-e374d17cd74ec5967f81e2b0c67ec3219a2bbbcc.tar.gz |
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 'include/asm-parisc')
-rw-r--r-- | include/asm-parisc/checksum.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/include/asm-parisc/checksum.h b/include/asm-parisc/checksum.h index cc3ec1b..e9639cc 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; } |