This is the mail archive of the
binutils@sources.redhat.com
mailing list for the binutils project.
newbie problem with sparc64 architecture
- From: Dan Kegel <dank at kegel dot com>
- To: Binutils <binutils at sources dot redhat dot com>
- Date: Sun, 25 Apr 2004 20:12:32 -0700
- Subject: newbie problem with sparc64 architecture
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]
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