> On Fri, Jul 31, 2009 at 5:09 PM, Helge Deller<deller@xxxxxx> wrote: > > On 07/31/2009 09:03 PM, John David Anglin wrote: > >>> > >>> Only 32-bit targets have the 14-bit signed immediate offset (0x3fff), > >>> which becomes a 13-bit limit when loading positive offsets e.g. > >>> +0x1fff or 1023 GOT slots. > >> > >> Can't we offset the table and double the number of entries? > > > > Dave, > > Can you explain this idea a little more? > > I would also like a little more details. > > However, this is similar to the DT_PLTGOT issue in dynamic libraries. > The value chosen for %dp is arbitrary, and if we made it point into > the middle of the GOT table, then you would reference the GOT using > both positive and negative offsets. > > For example, this code: > fdesc->gp = (Elf_Addr)me->module_core + me->arch.got_offset; > > Arbitrary chooses the module %dp to point at the start of got_offset, > why not make that got_offset + <half way>. I don't have more details... The idea is as Carlos outlined. There's code in the binutils elf32-hppa.c and elf64-hppa.c files to implement the above for dynamic libraries. That's what made me think of it. Dave -- J. David Anglin dave.anglin@xxxxxxxxxxxxxx National Research Council of Canada (613) 990-0752 (FAX: 952-6602) -- To unsubscribe from this list: send the line "unsubscribe linux-parisc" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html