Subject: Re: LITERALSLEAZY .lita
To: John Birrell <jb@cimlogic.com.au>
From: Chris G Demetriou <Chris_G_Demetriou@ux2.sp.cs.cmu.edu>
List: port-alpha
Date: 10/18/1996 21:42:13
> When linking a big program [with ld -v = 2.5-95q4 (with BFD 2.5-95q4)],
> I get:
> 
> /u/dev/netbsd/libc/sleep.c:39: relocation truncated to fit: LITERALSLEAZY .lita
> 
> Can anyone tell me what this means?

You have too much data living off the GP.  Basically, it (and the
hundreds of similar messages you probably also saw 8-) is an annoying
way of saying "don't do that."

The LITERALSLEAZY relocation is my hack to extend the amount of data
that can be addressed relative to the GP by the LITERAL relocation by
4x.  (LITERAL can address 64k of data relative to the GP,
LITERALSLEAZY can address 256k, or should be able to.)

I noticed problems with LITERAL when linking large programs (e.g. some
gcc modules, or the kernel).  I've never seen the LITERALSLEAZY-hacked
toolchain run out of GP space.   *sigh*

moving to ELF helps this slightly, but there's still a limit in the
ELF toolchain code that allows only one 64k GOT segment.  Eventually,
hopefully, that'll be fixed.



chris