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]
Other format: [Raw text]

Re: newbie problem with sparc64 architecture


Hi,

 Dan Kegel <dank@kegel.com>:

> I'm having trouble cross-building glibc-2.3.2 for
sparc64-linux.
> This is not terribly surprising, given that it's the
first time
> I've really tried, and I've never actually used
sparc64 before.
> 
> The current hangup is the error
>    Error: Illegal operands: There are only 32 single
precision f registers;
> [0-31]
> 
> I trimmed down the problem to the following small
test case:
> 
> :::::::::::: x.s ::::::::::::::::::::
>          .section        ".text"
>          .align 4
>          .global _Qp_qtoi
>          .type   _Qp_qtoi, #function
> _Qp_qtoi:
>          fqtoi %f52, %f60
>          retl
>          .size   _Qp_qtoi, .-_Qp_qtoi
> :::::::::::::::::::::::::::::::::::::
> 
> Here's the problem in action:
> 
> $ sparc64-unknown-linux-gnu/bin/as -V -Av9b -64 x.s
> GNU assembler version 2.15.90.0.3
(sparc64-unknown-linux-gnu) using BFD
> version 2.15.90.0.3 20040415
> x.s: Assembler messages:
> x.s:6: Error: Illegal operands: There are only 32
single precision f
> registers; [0-31]

gas seems to be all right here, looks like your
gcc is generating bad instructions:
http://sources.redhat.com/ml/binutils/2004-01/msg00106.html
and follow-ups
(http://sources.redhat.com/ml/binutils/2004-01/msg00289.html)
> 
> Here's how binutils were configured and installed:
> ../binutils-2.15.90.0.3/configure
--target=sparc64-unknown-linux-gnu
> --host=i686-host_pc-linux-gnu \
>
--prefix=/opt/crosstool/sparc64-unknown-linux-gnu/gcc-3.4.0-glibc-2.3.2
> --disable-nls \
>
--with-sysroot=/opt/crosstool/sparc64-unknown-linux-gnu/gcc-3.4.0-glibc-2.3.2/sparc64-unknown-linux-gnu
> make -j2 all
> make install
> 
> Any clues?  I kinda thought that passing -Av9b -64 to
> gas would tell it clearly that the source was for
> sparcv9, where the manual clearly states that there
> are 64 floating point registers.
> 
> Thanks,
> Dan
> 
> -- 
> My technical stuff: http://kegel.com
> My politics: see http://www.misleader.org for
examples of why I'm for
> regime change
> 
HTH,

Andrei


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