This is the mail archive of the
binutils@sources.redhat.com
mailing list for the binutils project.
Re: Alpha assembler problem (macro requires $at register)
- To: mf at swissmail dot com
- Subject: Re: Alpha assembler problem (macro requires $at register)
- From: Richard Henderson <rth at redhat dot com>
- Date: Mon, 16 Jul 2001 19:34:06 -0700
- Cc: gcc at gcc dot gnu dot org, binutils at gcc dot gnu dot org
- References: <200107162310.BAA16242@gate.rola.ch>
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~