summaryrefslogtreecommitdiffstats
path: root/c/src/exec/libnetworking/netinet/in_cksum_i386.c
diff options
context:
space:
mode:
Diffstat (limited to 'c/src/exec/libnetworking/netinet/in_cksum_i386.c')
-rw-r--r--c/src/exec/libnetworking/netinet/in_cksum_i386.c12
1 files changed, 8 insertions, 4 deletions
diff --git a/c/src/exec/libnetworking/netinet/in_cksum_i386.c b/c/src/exec/libnetworking/netinet/in_cksum_i386.c
index 0612c5a7c4..a64bd57832 100644
--- a/c/src/exec/libnetworking/netinet/in_cksum_i386.c
+++ b/c/src/exec/libnetworking/netinet/in_cksum_i386.c
@@ -19,10 +19,14 @@
* Thanks to gcc we don't have to guess
* which registers contain sum & w.
*/
-#define ADD(n) asm("addl " #n "(%2), %0" : "=r" (sum) : "0" (sum), "r" (w))
-#define ADDC(n) asm("adcl " #n "(%2), %0" : "=r" (sum) : "0" (sum), "r" (w))
-#define LOAD(n) asm volatile("movb " #n "(%1), %0" : "=r" (junk) : "r" (w))
-#define MOP asm("adcl $0, %0" : "=r" (sum) : "0" (sum))
+#define ADD(n) __asm__ volatile \
+ ("addl " #n "(%2), %0" : "=r" (sum) : "0" (sum), "r" (w))
+#define ADDC(n) __asm__ volatile \
+ ("adcl " #n "(%2), %0" : "=r" (sum) : "0" (sum), "r" (w))
+#define LOAD(n) __asm__ volatile \
+ ("movb " #n "(%1), %0" : "=r" (junk) : "r" (w))
+#define MOP __asm__ volatile \
+ ("adcl $0, %0" : "=r" (sum) : "0" (sum))
int
in_cksum(m, len)