summaryrefslogtreecommitdiff
path: root/debian/patches/pfinet-gcc-4.3-fix.patch
diff options
context:
space:
mode:
Diffstat (limited to 'debian/patches/pfinet-gcc-4.3-fix.patch')
-rw-r--r--debian/patches/pfinet-gcc-4.3-fix.patch36
1 files changed, 36 insertions, 0 deletions
diff --git a/debian/patches/pfinet-gcc-4.3-fix.patch b/debian/patches/pfinet-gcc-4.3-fix.patch
new file mode 100644
index 00000000..fbc31da9
--- /dev/null
+++ b/debian/patches/pfinet-gcc-4.3-fix.patch
@@ -0,0 +1,36 @@
+commit acb9f2e4bc53e0483e53549379c9c5631e452334
+Author: Samuel Thibault <samuel.thibault@ens-lyon.org>
+Date: Sat Sep 26 21:29:00 2009 +0200
+
+ Add memory clobbers to assembly snippets
+
+ * pfinet/linux-src/include/asm-i386/checksum.h (ip_fast_csum):
+ Add memory clobber to assembly snippet.
+ (csum_ipv6_magic): Likewise.
+
+---
+ pfinet/linux-src/include/asm-i386/checksum.h | 6 ++++--
+ 1 file changed, 4 insertions(+), 2 deletions(-)
+
+--- a/pfinet/linux-src/include/asm-i386/checksum.h
++++ b/pfinet/linux-src/include/asm-i386/checksum.h
+@@ -109,7 +109,8 @@ static inline unsigned short ip_fast_csu
+ are modified, we must also specify them as outputs, or gcc
+ will assume they contain their original values. */
+ : "=r" (sum), "=r" (iph), "=r" (ihl)
+- : "1" (iph), "2" (ihl));
++ : "1" (iph), "2" (ihl)
++ : "memory");
+ return(sum);
+ }
+
+@@ -185,7 +186,8 @@ static __inline__ unsigned short int csu
+ "adcl $0, %0\n"
+ : "=&r" (sum)
+ : "r" (saddr), "r" (daddr),
+- "r"(htonl((__u32) (len))), "r"(htonl(proto)), "0"(sum));
++ "r"(htonl((__u32) (len))), "r"(htonl(proto)), "0"(sum)
++ : "memory");
+
+ return csum_fold(sum);
+ }