--- src/checksum.c.orig 2003-09-20 22:40:44.000000000 +0200 +++ src/checksum.c 2004-11-02 20:36:59.290981656 +0100 @@ -29,6 +29,7 @@ movl 16(%esp),%ecx # Function arg: int len movl 12(%esp),%esi # Function arg: u_char *buff*/ +" push %%ebx \n" " testl $2, %%esi \n" " jz 2f \n" " subl $2, %%ecx \n" @@ -84,10 +85,10 @@ "5: movb (%%esi),%%cl \n" "6: addl %%ecx,%%eax \n" " adcl $0, %%eax \n" -"7: \n" +"7: pop %%ebx \n" : "=a"(sum) : "0"(sum), "c"(len), "S"(buff) - : "bx", "dx"); + : "dx"); return (sum); }