This is the mail archive of the
binutils@sources.redhat.com
mailing list for the binutils project.
binutils-2.15.90.1 and up don't like glibc-2.3.2 on sparc64? (was:newbie problem with sparc64 architecture)
- From: Dan Kegel <dank at kegel dot com>
- To: Dan Kegel <dank at kegel dot com>
- Cc: Binutils <binutils at sources dot redhat dot com>, Ben Collins <bcollins at debian dot org>, jakub at redhat dot com
- Date: Sun, 25 Apr 2004 23:06:00 -0700
- Subject: binutils-2.15.90.1 and up don't like glibc-2.3.2 on sparc64? (was:newbie problem with sparc64 architecture)
- References: <408C7E20.9010407@kegel.com>
Dan Kegel wrote:
I'm having trouble cross-building glibc-2.3.2 for sparc64-linux.
Here's the patch that exposes the problem:
http://sources.redhat.com/ml/binutils/2004-01/msg00289.html
binutils-2.15.90.0.1 is probably the first with the patch,
and the first that would run into the problem.
Rereading the sparc64 architecture manual, I see that there
really *are* only 32 single precision fp registers (in case
anyone doubted Jakub's word!)
The two instructions that gas now complains about are
fqtoi %f52, %f60 Convert quad to 32 bit integer
st %f60, [%g1] Store low 32 bits?
$ sparc64-unknown-linux-gnu-as -Av9a -64 qp_qtoi.s
qp_qtoi.s:261: Error: Illegal operands: There are only 32 single precision f registers; [0-31]
qp_qtoi.s:262: Error: Illegal operands: There are only 32 single precision f registers; [0-31]
These come straight from inline assembly in
http://sources.redhat.com/cgi-bin/cvsweb.cgi/libc/sysdeps/sparc/sparc64/soft-fp/qp_qtoui.c?rev=1.3&cvsroot=glibc
Is this a minor glibc coding error, or was the binutils patch overzealous?
I don't know sparc64 assembly well enough to see yet.
However, since Jakub probably wrote both the line in glibc and the
patch in question, perhaps he could comment :-)
Thanks,
Dan
--
My technical stuff: http://kegel.com
My politics: see http://www.misleader.org for examples of why I'm for regime change