Re: [2.3.99-pre4-1] compile error: arch/i386/math-emu/reg_u_add.S

From: Alan Modra (alan@linuxcare.com.au)
Date: Wed Mar 29 2000 - 04:03:08 EST


On Tue, 28 Mar 2000, Peter Blomgren wrote:

> [snip]
> make[2]: Entering directory `/usr/src/linux/arch/i386/math-emu'
> gcc -D__ASSEMBLY__ -D__KERNEL__ -I/usr/src/linux/include \
> -D__SMP__ -D__ASSEMBLY__ -traditional -DPARANOID -c reg_u_add.S
> /tmp/ccftau1c.s: Assembler messages:
> /tmp/ccftau1c.s:1788: Error: suffix or operands invalid for `mov'
> /tmp/ccftau1c.s:1798: Error: suffix or operands invalid for `mov'
> /tmp/ccftau1c.s:1870: Error: suffix or operands invalid for `add'
> /tmp/ccftau1c.s:1893: Error: Missing or invalid immediate expression `' taken as 0

The problem is the -traditional flag. It prevents the preprocessor from
token pasting with ##, which results is operands like 0##(%edi), which
the assembler doesn't like at all.

You need to edit the following lines in the top level Makefile, and remove
-traditional.

.S.s:
        $(CC) -D__ASSEMBLY__ $(AFLAGS) -traditional -E -o $*.s $<
.S.o:
        $(CC) -D__ASSEMBLY__ $(AFLAGS) -traditional -c -o $*.o $<

Why was it put there?

-- 
Linuxcare.  Support for the Revolution.

- 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/



This archive was generated by hypermail 2b29 : Fri Mar 31 2000 - 21:00:24 EST