Alpha assembler problem (macro requires $at register)

Richard Henderson rth@redhat.com
Mon Jul 16 19:35:00 GMT 2001


On Tue, Jul 17, 2001 at 01:11:02AM +0200, mf@swissmail.com wrote:
> {standard input}: Assembler messages:
> {standard input}:24: Error: macro requires $at register while noat in effect
[...]
>    stb $2,10($1)

You have to tell the assembler that the architecture that you're
building for implements this as an instruction, and that it needn't
expand this as a macro.

If this instruction was emitted by gcc, then this should have 
automatically been done.  If it was done by inline assembly, then
you should use the -mcpu=ev56 gcc option.

> So I tried with changing the cpu (-mcpu) but when I was able to compile
> everything and load the module the kernel crashed (think this was a bad
> idea ;-)

Um, there are a number of options that you must use when
building alpha kernel modules, including -mno-fp-regs and
-ffixed-8.  You _did_ include those, right?

In general, see how CFLAGS is defined in linux/arch/foo/Makefile.


r~



More information about the Binutils mailing list