Răsfoiți Sursa

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>
Kyle McMartin 17 ani în urmă
părinte
comite
e374d17cd7
1 a modificat fișierele cu 1 adăugiri și 1 ștergeri
  1. 1 1
      include/asm-parisc/checksum.h

+ 1 - 1
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;
 }