This is the mail archive of the binutils@sources.redhat.com mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Alpha assembler problem (macro requires $at register)



Hi all!

I'm very sorry about this cross posting, but I don't know where my problem is exactly (gcc or binutils or something else ?) 
and how to solve it.

I'm just trying to compile alsa on my alpha linux box.

Some of the C source files of alsa produce the following error messages:

{standard input}: Assembler messages:
{standard input}:24: Error: macro requires $at register while noat in effect

and many more of the same messages with other linenumbers...

I generated the assembler file from one of the c source files and saw that the first 10 errors occur at an assembler  
statement
like the following:

   stb $2,10($1)

the numbers are different in most of the statements ($1,$2,$3 and
10, 12, 11, 135, ...).

I have an Alpha PC164SX, the processor is a 21164PC, Linux said the cpu model is PCA56 variation 7 revision 0 and 
system
type EB164 variation SX164.

I have this problem since I use kernel 2.4.x and I used gcc 2.95.2 until this weekend, now i use gcc 3.0 and binutils 
2.11 (I compiled them this weekend, gcc first, then binutils).

The full compile statement is:

gcc -DALSA_BUILD -D__KERNEL__ -O2 -fno-strength-reduce -mno-fp-regs -ffixed-8 -mcpu=ev5 -DLINUX -Wall 
.Wstrict-prototypes -fomit-frame-pointer -I/usr/src/linux/inlude -I.. -pipe -c isadma.c

The first function in this file uses some functions declared in a headerfile of the linux kernel. These functions look like 
this:

static __inline_ ...()
{
  ...code....
}

If I remove the -O flag when compiling it works until I want to load the module into kernel, then I get some unresolved 
externals (these functions).
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 ;-)

What surpirses me is that I can compile the linux kernel and it works.

What am I doing wrong ?

Martin


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]