This is the mail archive of the binutils@sources.redhat.com mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Large data sections support


> On Mon, Jun 13, 2005 at 01:22:00AM +0200, Jan Hubicka wrote:
> > > 
> > > Putting it in .lbss won't work with common symbol. But the default
> > > gp size is 8, "sym->st_size > elf_gp_size (abfd))" means any common
> > > symbols bigger than 8 bytes will be put in .lbss automatically by
> > > default. I am not sure if it will work very well with the existing
> > 
> > I see, this patch was hanging around longer than it should so I now
> > hardly recall details.  The treshold for bss/lbss is specified by ABI
> > (as different units must match on relocations used to symbols anyway),
> > so I planned hardwiring in the proper default for elf_gp_size but my
> > last patch simply added -G parameter in ld execution command from gcc
> > SPECs.
> 
> The issue is that the existing relocatable files may have old
> relocations against common symbols larger than 8 bytes, expecting 
> those symbols will be in .bss sections. Will it still work with your
> scheme?

Well when applocation exceeds 4GB, all compiled modules must be medium
model, so all will know that particular symbol has to live in .lbss and
will use far relocations.
On the other hand when it does not exceed, I would like the small model
objects be linkable with medium model objects.  So I would like the
module expecting symbol being in .bss work with other module expecting it in
.lbss as long as all the relocations remain within range.

Honza
> 
> 
> H.J.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]