This is the mail archive of the
binutils@sources.redhat.com
mailing list for the binutils project.
RE: Using binutils-2.12.1 on sparc64-sun-solaris2.8 to build gcc-3.1 results in relocation errors
- From: "Dana, Eric" <Eric_Dana at bmc dot com>
- To: "'Jakub Jelinek'" <jakub at redhat dot com>, "'David S. Miller'" <davem at redhat dot com>
- Cc: "'amodra at bigpond dot net dot au'" <amodra at bigpond dot net dot au>, "Dana, Eric" <Eric_Dana at bmc dot com>, "'binutils at sources dot redhat dot com'" <binutils at sources dot redhat dot com>, "'gcc-bugs at gcc dot gnu dot org'" <gcc-bugs at gcc dot gnu dot org>
- Date: Thu, 18 Jul 2002 10:43:00 -0500
- Subject: RE: Using binutils-2.12.1 on sparc64-sun-solaris2.8 to build gcc-3.1 results in relocation errors
Jakub,
No, all the libraries are between 2-12 MB. I've tried using
binutils 2.12 and binutils-020717. I've verified that only
64-bit libs are being linked in. The compiler was built with
multilibs, so the default is 32-bit compilation. We use -m64
on all our compiler and link lines. The compiler was built
with gcc 2.95.2 with binutils 2.9.1. Would it be useful to
to build the compiler with Sun's C compiler or gcc 3.0.3
(which I also have installed)?
The source is way too big to be distributed, but I can make the
libs and .o's (from one directory) available. I have a script
that can reproduce the problem.
--Eric--
-----Original Message-----
From: Jakub Jelinek [mailto:jakub@redhat.com]
Sent: Thursday, July 18, 2002 3:14 AM
To: David S. Miller
Cc: amodra@bigpond.net.au; Eric_Dana@bmc.com; binutils@sources.redhat.com;
gcc-bugs@gcc.gnu.org
Subject: Re: Using binutils-2.12.1 on sparc64-sun-solaris2.8 to build
gcc-3.1 results in relocation errors
On Mon, Jul 15, 2002 at 07:44:14PM -0700, David S. Miller wrote:
> From: Alan Modra <amodra@bigpond.net.au>
> Date: Tue, 16 Jul 2002 12:10:12 +0930
>
> On Mon, Jul 15, 2002 at 12:45:33PM -0500, Dana, Eric wrote:
> > When building some of our 64-bit libraries in C++, we are seeing
> > R_SPARC_DISP32 errors:
>
> Please try current binutils CVS. If the problem isn't fixed there,
> now would be the time to shout about it. We're about to release 2.13.
>
> Actually this looks like some kind of code-model error.
> There should not be any R_SPARC_DISP32 relocations generated
> as no "call" instruction based function invocations should
> be emitted with Solaris's default code model.
>
> "Call" is the only way R_SPARC_DISP32 relocations can be
> emitted.
No, call generates R_SPARC_WDISP32. R_SPARC_DISP32 is generated by
something like .word %r_disp32(foo + 12345).
%r_disp32() is emitted by gcc for the .eh_frame section (only when using
GNU ld, since Solaris ld has broken support for misaligned PC relative
relocs).
Are your 64-bit libraries bigger than 2GB?
Jakub