Kevin Lawton wrote:
>
> Jeff Dubrule wrote:
>
> > What's this error about, then?
> > gcc -c -g -O2 -Wall -Wstrict-prototypes -fno-strength-reduce -fomit-frame-pointer
>-malign-loops=2 -malign-jumps=2 -malign-functions=2 -D__KERNEL__
>-I/usr/src/linux/include -DCPU=586 -DMODULE -DEMULATION -I../include -I../..
>-DIN_MONITOR_SPACE arith8.c
> > /tmp/cccTBfC0.s: Assembler messages:
> > /tmp/cccTBfC0.s:298: Error: suffix or operands invalid for `add'
> > /tmp/cccTBfC0.s:429: Error: `%si' not allowed with `addb'
> > /tmp/cccTBfC0.s:940: Error: suffix or operands invalid for `add'
> > /tmp/cccTBfC0.s:2056: Error: suffix or operands invalid for `sub'
> > /tmp/cccTBfC0.s:2181: Error: suffix or operands invalid for `cmp'
> > /tmp/cccTBfC0.s:2275: Error: suffix or operands invalid for `cmp'
> > /tmp/cccTBfC0.s:2420: Error: `%si' not allowed with `cmpb'
> > /tmp/cccTBfC0.s:2514: Error: `%si' not allowed with `subb'
> > /tmp/cccTBfC0.s:2619: Error: suffix or operands invalid for `sub'
> > /tmp/cccTBfC0.s:2810: Error: suffix or operands invalid for `add'
Kevin,
You need to be more strict with AT&T assembly.
I haven't looked at the code yet but I can predict the
sort of mistakes: for instance,
/tmp/cccTBfC0.s:2420: Error: `%si' not allowed with `cmpb'
%si is a *word*, and you do a compare *byte*. Change to cmpw
and it should be OK.
-- Ramon