Re: building a multiarch gcc
On Mon, Dec 13, 2004 at 02:37:33PM +0100, Andreas Jochens wrote:
> On 04-Dec-13 11:01, Rafael Esp?ndola wrote:
> > .libs/libgcj.la-2.o(.text+0x22db32): In function
> > `.gnu::java::locale::LocaleInformation_en_HK::__U3c_clinit__U3e_()':
> > ../../../src/libjava/gnu/java/locale/LocaleInformation_en_HK.java:64:
> > relocation truncated to fit: R_PPC64_TOC16_DS .toc+10000
> I get the same error here and I have no idea what it means or how to fix
> it. Nevertheless, I am still trying to build a newer binutils packages,
> even if I do not know if this will help.
I haven't tried it, but the error does look familiar. I think this is
the error you get when binaries get too many symbols. The TOC normally
fits in a single 16bit offset window. If your binary gets too big, it
can't use simple immediate offsets to access individual elements. I
haven't seen that in quite a while, so I had thought gcc was smarter
about it now. However, this sounds very similar. I'm sure that the
java stuff is very large, with an insane number of symbols in a
single library. There were command line options to gcc to make it
assume that it needed to handle these differently. Try adding
-mminimal-toc to the gcc command line for all the object files.
There are some other related options listed in the man page.