diff options
Diffstat (limited to 'debian/patches/pfinet-gcc-4.3-fix.patch')
-rw-r--r-- | debian/patches/pfinet-gcc-4.3-fix.patch | 36 |
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); + } |