Messages in this thread Patch in this message | | | Date | Thu, 17 Jun 1999 17:54:55 +0930 (CST) | From | Alan Modra <> | Subject | Re: 2.2.10-ac1 doesn't build... |
| |
This bug isn't just in -ac kernels. Please apply the patch to 2.3.x, 2.2.x, 2.0.x. ie. everywhere :-)
> -o in2000.o in2000.c > {standard input}: Assembler messages: > {standard input}:1008: Error: suffix or operands invalid for `outs' > {standard input}:1024: Error: suffix or operands invalid for `outs' > {standard input}:1416: Error: suffix or operands invalid for `outs' > {standard input}:1633: Error: suffix or operands invalid for `ins' > {standard input}:1866: Error: suffix or operands invalid for `ins' > make[2]: *** [in2000.o] Error 1 > make[2]: Leaving directory > /tmp/build-kernel/usr/src/linux-2.2.10-ac1/drivers/scsi'
> egcs-1.1.2, binutils-2.9.4.0.5, glibc-2.1.1. ^^^^^^^^^^^^^^^^^^
The binutils-2.9.4 assembler has better syntax checking than previous versions of gas, and exposes some shoddy assembly in in2000.h
This will fix it, without causing problems for old assemblers. You could also just zap the %%dx from the insw and outsw instructions, but this way we show the segment/index regs used.
--- linux-2.2.10/drivers/scsi/in2000.h Sat Sep 5 20:11:10 1998 +++ linux/drivers/scsi/in2000.h Thu Jun 17 17:20:06 1999 @@ -67,7 +67,7 @@ orl %%ecx, %%ecx \n \ jz 1f \n \ rep \n \ - insw %%dx \n \ + insw (%%dx),%%es:(%%edi) \n \ 1: " \ : "=D" (sp) /* output */ \ : "d" (f), "D" (sp), "c" (i) /* input */ \ @@ -79,7 +79,7 @@ orl %%ecx, %%ecx \n \ jz 1f \n \ rep \n \ - outsw %%dx \n \ + outsw %%ds:(%%esi),(%%dx) \n \ 1: " \ : "=S" (sp) /* output */ \ : "d" (f), "S" (sp), "c" (i) /* input */ \
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.tux.org/lkml/
| |