> 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>
|