This is the mail archive of the
binutils@sources.redhat.com
mailing list for the binutils project.
Re: Binutils 2.15.97 available
- From: Etienne Lorrain <etienne_lorrain at yahoo dot fr>
- To: Nick Clifton <nickc at redhat dot com>
- Cc: binutils at sources dot redhat dot com, drow at false dot org
- Date: Mon, 25 Apr 2005 17:03:42 +0200 (CEST)
- Subject: Re: Binutils 2.15.97 available
Hi Nick,
--- Nick Clifton wrote:
> > I have s strange problem with this version, but 2.15 works.
> > Do you know what
> > Error: `dataPS2' can't be equated to common symbol
> > means?
>
> It is an error message from the assembler. Try compiling with the "-c"
> and "--save-temps" flags and then locate the line in the assembler
> source file where the error is flagged. Presumably it will relate to
> this line in your source code:
>
> > asm volatile (" dataPS2 = %c0 ": : "i" (&MOUSE.data.PS2));
This C file is just an extract of an application which is compiling,
assembling and linking with binutils-2.15.
The lines of the assembler file does not look strange, the error is
given at end of the mouse.s file.
Just replacing
asm volatile (" dataPS2 = %c0 ": : "i" (&MOUSE.data.PS2));
by:
asm volatile (" .equ dataPS2, %c0 ": : "i" (&MOUSE.data.PS2));
does not change the error message:
/home/etienne/projet/toolchain/bin/as -acdhls=mouse.lis -o mouse.o mouse.s
mouse.s: Assembler messages:
mouse.s:1902: Error: `dataPS2' can't be equated to common symbol
make: *** [mouse.o] Error 1
etienne@cygne:~/projet/gujin$ grep dataPS2 mouse.s
movl %eax,dataPS2
movl %eax,dataPS2 + 4
.equ dataPS2, MOUSE+476
The MOUSE structure is a common structure:
.comm MOUSE,512,32
> You didn't say, but I assume that you are compiling for an x86 target ?
Yes - a strange x86 target.
> My guess is that the assembler is no longer support the syntax you are
> using to assign a value to the "dataPS2" symbol. Perhaps you need to
> change the above asm() statement to use the .set pseudo operator ?
Note that I can initialise the MOUSE structure to zero and I no more
have this assembler error - but I am not sure this behaviour of GAS
is the intended one.
Etienne.
__________________________________________________________________
Découvrez le nouveau Yahoo! Mail : 250 Mo d'espace de stockage pour vos mails !
Créez votre Yahoo! Mail sur http://fr.mail.yahoo.com/