Brad Barrett wrote: > Preface: > -------- > I have a userspace toolchain issue. I'm not sure where to post it, so I'll > start here. binutils@sources.redhat.com is probably the better place for this. [snip] > I built the cross-tools myself. They are now about 6-8 months old. They > consist of: > - gcc version 3.2.1 20020903 (prerelease) > - GNU ld version 2.13.90.0.10 20021010 [from H.J. Lu] > - glibc version 2.2.5 An upgrade is IMHO the best solution: gcc 3.3 will fix some "branch out of range" issues, and binutils newer than 2.13.90.0.18 implement multigot. Both together should solve the problem. > What I know: > ------------ > Googling hasn't turn up much, with the exception of an intriguing exchange from > Sept 2001 on this mailing list: The GOT overflow problem is quite well known, it hits every largish executable for O32 MIPS. Most notably Mozilla and parts of KDE were affected, too. > Petter Reinholdtsen reports similar messages when (native) compiling "a huge C++ > program" (actually Opera) on an Indy: > http://www.spinics.net/lists/mips/msg04568.html > > Wilbern Cobb suggests using -G4, -G2, or -G1, which Petter reports reduces the > messages but does not eliminate them. These reduce GOT usage at the expense of speed and size, so they help a bit as workaround. > Then Ryan Murray says that every static > library used in the link, including libc_noshared.a and libgcc.a, must be > compiled with -Wa,xgot. Would also work, but is binary incompatible then. Thiemo