> Date: Mon, 17 Sep 2001 15:47:54 -0700 > From: Richard Henderson <rth@redhat.com> > Cc: Ryan Murray <rmurray@cyberhqz.com>, linux-mips@oss.sgi.com, > binutils@sourceware.cygnus.com, gcc@gcc.gnu.org > On Sun, Sep 16, 2001 at 03:50:03PM -0700, H . J . Lu wrote: > > I don't think mips is the only platform which has this problem. Do > > Alpha, PowerPC and Sparc have similar problems like that? What are > > the solutions for them? > > Alpha has a complicated scheme by which every input object file may > be assigned to a different GOT, each of which is limited to 64k. The > other reason this works is that variables assigned to .sdata/.sbss > are _not_ treated differently wrt code generation. Instead, this is > optimized via linker relaxation. > > IA-64 will overflow its small data area at 22 bits. > > PowerPC and Sparc do not use .sdata/.sbss. Actually, powerpc could use .sdata/.sbss for shared libraries, but it never got implemented, and it would have the disadvantage that such code can't be linked into non-shared objects. It would be a significant speed/space win for certain objects, most notably libm. -- - Geoffrey Keating <geoffk@geoffk.org>