diff -Naur linux-2.3.99-pre6-5/include/asm-i386/checksum.h linux-2.3.99-pre6-5-new/include/asm-i386/checksum.h --- linux-2.3.99-pre6-5/include/asm-i386/checksum.h Tue Feb 1 01:41:14 2000 +++ linux-2.3.99-pre6-5-new/include/asm-i386/checksum.h Sat Apr 22 02:41:46 2000 @@ -69,25 +69,24 @@ unsigned int ihl) { unsigned int sum; - __asm__ __volatile__(" - movl (%1), %0 - subl $4, %2 - jbe 2f - addl 4(%1), %0 - adcl 8(%1), %0 - adcl 12(%1), %0 -1: adcl 16(%1), %0 - lea 4(%1), %1 - decl %2 - jne 1b - adcl $0, %0 - movl %0, %2 - shrl $16, %0 - addw %w2, %w0 - adcl $0, %0 - notl %0 -2: - " + __asm__ __volatile__( + "movl (%1), %0\n\t" + "subl $4, %2\n\t" + "jbe 2f\n\t" + "addl 4(%1), %0\n\t" + "adcl 8(%1), %0\n\t" + "adcl 12(%1), %0\n\t" + "1: adcl 16(%1), %0\n\t" + "lea 4(%1), %1\n\t" + "decl %2\n\t" + "jne 1b\n\t" + "adcl $0, %0\n\t" + "movl %0, %2\n\t" + "shrl $16, %0\n\t" + "addw %w2, %w0\n\t" + "adcl $0, %0\n\t" + "notl %0\n\t" + "2:" /* Since the input registers which are loaded with iph and ipl are modified, we must also specify them as outputs, or gcc will assume they contain their original values. */ @@ -102,10 +101,8 @@ static inline unsigned int csum_fold(unsigned int sum) { - __asm__(" - addl %1, %0 - adcl $0xffff, %0 - " + __asm__("addl %1, %0\n\t" + "adcl $0xffff, %0" : "=r" (sum) : "r" (sum << 16), "0" (sum & 0xffff0000) ); @@ -118,12 +115,10 @@ unsigned short proto, unsigned int sum) { - __asm__(" - addl %1, %0 - adcl %2, %0 - adcl %3, %0 - adcl $0, %0 - " + __asm__("addl %1, %0\n\t" + "adcl %2, %0\n\t" + "adcl %3, %0\n\t" + "adcl $0, %0\n\t" : "=r" (sum) : "g" (daddr), "g"(saddr), "g"((ntohs(len)<<16)+proto*256), "0"(sum)); return sum; @@ -158,19 +153,17 @@ unsigned short proto, unsigned int sum) { - __asm__(" - addl 0(%1), %0 - adcl 4(%1), %0 - adcl 8(%1), %0 - adcl 12(%1), %0 - adcl 0(%2), %0 - adcl 4(%2), %0 - adcl 8(%2), %0 - adcl 12(%2), %0 - adcl %3, %0 - adcl %4, %0 - adcl $0, %0 - " + __asm__("addl 0(%1), %0\n\t" + "adcl 4(%1), %0\n\t" + "adcl 8(%1), %0\n\t" + "adcl 12(%1), %0\n\t" + "adcl 0(%2), %0\n\t" + "adcl 4(%2), %0\n\t" + "adcl 8(%2), %0\n\t" + "adcl 12(%2), %0\n\t" + "adcl %3, %0\n\t" + "adcl %4, %0\n\t" + "adcl $0, %0\n\t" : "=&r" (sum) : "r" (saddr), "r" (daddr), "r"(htonl(len)), "r"(htonl(proto)), "0"(sum)); diff -Naur linux-2.3.99-pre6-5/include/asm-i386/string.h linux-2.3.99-pre6-5-new/include/asm-i386/string.h --- linux-2.3.99-pre6-5/include/asm-i386/string.h Fri Apr 21 21:55:43 2000 +++ linux-2.3.99-pre6-5-new/include/asm-i386/string.h Sat Apr 22 02:41:46 2000 @@ -549,10 +549,10 @@ { if (!size) return addr; - __asm__("repnz; scasb - jnz 1f - dec %%edi -1: " + __asm__("repnz; scasb\n\t" + "jnz 1f\n\t" + "dec %%edi\n\t" + "1:" : "=D" (addr), "=c" (size) : "0" (addr), "1" (size), "a" (c)); return addr; diff -Naur linux-2.3.99-pre6-5/include/asm-i386/system.h linux-2.3.99-pre6-5-new/include/asm-i386/system.h --- linux-2.3.99-pre6-5/include/asm-i386/system.h Thu Mar 23 17:36:06 2000 +++ linux-2.3.99-pre6-5-new/include/asm-i386/system.h Sat Apr 22 02:42:27 2000 @@ -145,10 +145,10 @@ unsigned int low, unsigned int high) { __asm__ __volatile__ ( - "1: movl (%0), %%eax; - movl 4(%0), %%edx; - cmpxchg8b (%0); - jnz 1b" + "1: movl (%0), %%eax; \n\t" + "movl 4(%0), %%edx; \n\t" + "cmpxchg8b (%0); \n\t" + "jnz 1b" :: "D"(ptr), "b"(low), "c"(high)